QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#536954#4561. Catfish FarmWansur9 426ms266576kbC++232.2kb2024-08-29 18:15:092024-08-29 18:15:09

Judging History

你现在查看的是最新测评结果

  • [2024-08-29 18:15:09]
  • 评测
  • 测评结果:9
  • 用时:426ms
  • 内存:266576kb
  • [2024-08-29 18:15:09]
  • 提交

answer

#include "fish.h"
#include <bits/stdc++.h>
#define ent '\n'

using namespace std;
typedef long long ll;
const int maxn = 1e5 + 12;

vector<int> s[maxn];
unordered_map<int, ll> dp[maxn], dpt[maxn], d[maxn];
unordered_map<int, ll> pref[maxn], mx[maxn], suff[maxn];
unordered_map<int, ll>  a[maxn], mval[maxn];

long long max_weights(int n, int m, vector<int> x, vector<int> y, vector<int> w) {
    ll ans = 0;
    for(int i=0;i<m;i++){
        x[i]++, y[i]++;
        a[x[i]][y[i]] += w[i];
        for(int d=-1;d<=1;d++){
            s[x[i] + d].push_back(y[i]);
        }
    }
    s[0] = {0};
    for(int i=1;i<=n;i++){
        s[i].push_back(0);
        sort(s[i].begin(), s[i].end());
        s[i].resize(unique(s[i].begin(), s[i].end()) - s[i].begin());
        ll sum = 0;
        for(int x:s[i]){
            sum += a[i][x];
            pref[i][x] = sum;
        }
    }
    for(int i=1;i<=n;i++){

        ll val = -1e18;

        for(int x:s[i]){
            auto it = upper_bound(s[i-1].begin(), s[i-1].end(), x) - s[i-1].begin() - 1;
            int y = s[i-1][x];
            dp[i][x] = max(mx[i-1][y] + pref[i-1][y], mval[i-1][y]);
            d[i][x] = max(dp[i][x], suff[i-1][y] - pref[i][x]);
            val = max(val, d[i][x]);
            mval[i][x] = val;
            ans = max(ans, d[i][x]);
        }

        for(auto x:s[i-1]){
            auto it = upper_bound(s[i].begin(), s[i].end(), x) - s[i].begin() - 1;
            int y = s[i][x];
            dpt[i][x] = d[i-1][x] + pref[i][y];
        }

        val = -1e18;

        for(int x:s[i]){
            auto it = upper_bound(s[i-1].begin(), s[i-1].end(), x) - s[i-1].begin();
            it--;
            int y = s[i-1][x];

            val = max(val, max(dp[i][x], dpt[i][y]) - pref[i][x]);
            mx[i][x] = val;
        }

        val = -1e18;

        if(i < n){
            for(int j=s[i].size() - 1;j>=0;j--){
                int x = s[i][j];
                auto it = upper_bound(s[i+1].begin(), s[i+1].end(), x) - s[i+1].begin() - 1;
                int y = s[i+1][it];

                val = max(val, d[i][x] + pref[i+1][y]);
                suff[i][x] = val;
            }
        }
    }
    return ans;
}

Details

Tip: Click on the bar to expand more detailed information

Subtask #1:

score: 0
Wrong Answer

Test #1:

score: 3
Accepted
time: 330ms
memory: 221756kb

input:

f785163bfcb92ce6ac387bba5d2f29a0e0f37f19
90000 80699
0 10792 55091480
0 36762 389250726
0 79267 706445371
0 76952 290301137
0 13444 69711795
0 68980 66221400
0 1695 703252611
0 36628 632571604
0 87676 264578012
0 79496 397448339
0 57929 447544332
0 35453 355374818
0 62449 686423696
0 45614 667165709...

output:

938f2698235a9ff1d1d91e23381b68bec7bed102
OK
40313272768926

result:

ok 3 lines

Test #2:

score: 3
Accepted
time: 426ms
memory: 262556kb

input:

f785163bfcb92ce6ac387bba5d2f29a0e0f37f19
100000 100000
0 64777 995289349
0 71596 893436841
0 577 789941184
0 74238 421759180
0 93045 833843112
0 17349 236016162
0 70194 646518626
0 59769 662584325
0 45550 706340730
0 8007 454213805
0 5460 328535742
0 47262 672607739
0 91960 166922115
0 26216 5441740...

output:

938f2698235a9ff1d1d91e23381b68bec7bed102
OK
49915093555295

result:

ok 3 lines

Test #3:

score: 3
Accepted
time: 100ms
memory: 165540kb

input:

f785163bfcb92ce6ac387bba5d2f29a0e0f37f19
100000 1
0 0 10082010

output:

938f2698235a9ff1d1d91e23381b68bec7bed102
OK
10082010

result:

ok 3 lines

Test #4:

score: 0
Wrong Answer
time: 109ms
memory: 165468kb

input:

f785163bfcb92ce6ac387bba5d2f29a0e0f37f19
100000 1
0 99999 19122012

output:

938f2698235a9ff1d1d91e23381b68bec7bed102
OK
0

result:

wrong answer 3rd lines differ - expected: '19122012', found: '0'

Subtask #2:

score: 0
Wrong Answer

Test #7:

score: 6
Accepted
time: 5ms
memory: 48856kb

input:

f785163bfcb92ce6ac387bba5d2f29a0e0f37f19
3 2
0 0 1
1 1 1

output:

938f2698235a9ff1d1d91e23381b68bec7bed102
OK
2

result:

ok 3 lines

Test #8:

score: 0
Wrong Answer
time: 412ms
memory: 266576kb

input:

f785163bfcb92ce6ac387bba5d2f29a0e0f37f19
90000 161862
0 56823 293232472
0 28967 124369573
1 8799 138712011
0 87115 743135614
1 56429 262092699
0 61318 597172732
0 39127 477101342
1 44938 277680401
1 79037 997527330
1 88113 13289754
0 29715 35249311
0 50637 709319782
1 20760 845594381
1 80662 6299890...

output:

938f2698235a9ff1d1d91e23381b68bec7bed102
OK
41351330746462

result:

wrong answer 3rd lines differ - expected: '40604614618209', found: '41351330746462'

Subtask #3:

score: 9
Accepted

Test #20:

score: 9
Accepted
time: 110ms
memory: 165588kb

input:

f785163bfcb92ce6ac387bba5d2f29a0e0f37f19
100000 1
0 0 10082010

output:

938f2698235a9ff1d1d91e23381b68bec7bed102
OK
10082010

result:

ok 3 lines

Test #21:

score: 9
Accepted
time: 115ms
memory: 165520kb

input:

f785163bfcb92ce6ac387bba5d2f29a0e0f37f19
100000 1
99999 0 882019

output:

938f2698235a9ff1d1d91e23381b68bec7bed102
OK
882019

result:

ok 3 lines

Test #22:

score: 9
Accepted
time: 148ms
memory: 169196kb

input:

f785163bfcb92ce6ac387bba5d2f29a0e0f37f19
90000 53444
40538 0 933021958
22736 0 403565340
52395 0 535014365
46488 0 818102149
19082 0 825246110
7712 0 581240932
30019 0 143288209
16519 0 206714026
8855 0 737518859
44939 0 63482743
40524 0 963968043
2663 0 953447256
25511 0 762455895
10794 0 880225092...

output:

938f2698235a9ff1d1d91e23381b68bec7bed102
OK
21261825233649

result:

ok 3 lines

Test #23:

score: 9
Accepted
time: 143ms
memory: 177044kb

input:

f785163bfcb92ce6ac387bba5d2f29a0e0f37f19
100000 35893
58578 0 304141028
55753 0 423438149
28242 0 9158978
26888 0 284963184
54273 0 494234963
29697 0 240842358
86194 0 789279485
58100 0 572200683
57232 0 355330259
21029 0 261781158
20244 0 594911163
84269 0 452539910
35836 0 228436540
86304 0 785924...

output:

938f2698235a9ff1d1d91e23381b68bec7bed102
OK
14486631352875

result:

ok 3 lines

Test #24:

score: 9
Accepted
time: 205ms
memory: 192180kb

input:

f785163bfcb92ce6ac387bba5d2f29a0e0f37f19
100000 100000
79988 0 40146450
9642 0 4878540
15808 0 7990718
87998 0 44144800
50 0 28601
87736 0 44009424
1293 0 663798
5837 0 2957384
63202 0 31702174
47501 0 23852124
73162 0 36720321
22116 0 11144107
10533 0 5323103
11339 0 5737527
94001 0 47121962
57059 ...

output:

938f2698235a9ff1d1d91e23381b68bec7bed102
OK
1673106170551

result:

ok 3 lines

Test #25:

score: 9
Accepted
time: 219ms
memory: 192420kb

input:

f785163bfcb92ce6ac387bba5d2f29a0e0f37f19
100000 100000
29663 0 1
8831 0 1
36979 0 1
18031 0 1
58035 0 1
17126 0 1
39877 0 1
65204 0 1
95787 0 1
3456 0 1
70567 0 1
32636 0 1
25925 0 1
28249 0 1
44082 0 1
96342 0 1
85086 0 1
34386 0 1
14480 0 1
76553 0 1
52077 0 1
9592 0 1
23079 0 1
40176 0 1
12131 0 ...

output:

938f2698235a9ff1d1d91e23381b68bec7bed102
OK
141909

result:

ok 3 lines

Test #26:

score: 9
Accepted
time: 218ms
memory: 192276kb

input:

f785163bfcb92ce6ac387bba5d2f29a0e0f37f19
100000 100000
83585 0 2094163
24287 0 2036215
24300 0 2033375
19914 0 2054613
21378 0 2041083
21499 0 2045341
90833 0 2102645
61879 0 2063456
1760 0 2002021
88192 0 2110989
53350 0 2053627
16287 0 2051126
65429 0 2060736
51431 0 2072545
77128 0 2074487
42574 ...

output:

938f2698235a9ff1d1d91e23381b68bec7bed102
OK
136990846207

result:

ok 3 lines

Test #27:

score: 9
Accepted
time: 203ms
memory: 192264kb

input:

f785163bfcb92ce6ac387bba5d2f29a0e0f37f19
100000 100000
85230 0 4609010
60078 0 12007449
43791 0 3942515
1997 0 2998622
56562 0 10337802
20938 0 11560354
76302 0 3874165
47495 0 5809667
11746 0 7920761
33327 0 5406979
78092 0 2965837
99383 0 11744076
52546 0 8319876
51870 0 7985523
71948 0 6035731
86...

output:

938f2698235a9ff1d1d91e23381b68bec7bed102
OK
469063835000

result:

ok 3 lines

Subtask #4:

score: 0
Wrong Answer

Test #28:

score: 0
Wrong Answer
time: 4ms
memory: 48396kb

input:

f785163bfcb92ce6ac387bba5d2f29a0e0f37f19
4 3
2 2 1
0 0 1
1 1 1

output:

938f2698235a9ff1d1d91e23381b68bec7bed102
OK
2

result:

wrong answer 3rd lines differ - expected: '3', found: '2'

Subtask #5:

score: 0
Skipped

Dependency #4:

0%

Subtask #6:

score: 0
Skipped

Dependency #5:

0%

Subtask #7:

score: 0
Wrong Answer

Test #60:

score: 0
Wrong Answer
time: 353ms
memory: 260228kb

input:

f785163bfcb92ce6ac387bba5d2f29a0e0f37f19
100000 99999
31026 31026 1
42940 42940 1
69303 69303 1
90350 90350 1
77507 77507 1
87126 87126 1
17988 17988 1
5146 5146 1
63023 63023 1
27776 27776 1
6136 6136 1
82557 82557 1
24904 24904 1
21667 21667 1
67271 67271 1
80294 80294 1
81145 81145 1
47144 47144 ...

output:

938f2698235a9ff1d1d91e23381b68bec7bed102
OK
40048

result:

wrong answer 3rd lines differ - expected: '99999', found: '40048'

Subtask #8:

score: 0
Skipped

Dependency #1:

0%