QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#90273 | #4561. Catfish Farm | james1BadCreeper | 3 | 108ms | 29552kb | C++14 | 1.8kb | 2023-03-22 16:33:39 | 2023-03-22 16:33:43 |
Judging History
answer
#include <bits/stdc++.h>
#include "fish.h"
using namespace std;
typedef long long i64;
int x[300005], y[300005], w[300005];
i64 dp[300005][2], f[300005], g[300005]; // [][0] 代表上升
// f g 分别代表现在是增、减的最优值
vector<int> v[300005]; // i 位置上的垒球
i64 max_weights(int n, int m, vector<int> X, vector<int> Y, vector<int> W) {
for (int i = 0; i < m; ++i) {
x[i + 1] = X[i] + 1, y[i + 1] = Y[i] + 1, w[i + 1] = W[i];
v[X[i] + 1].emplace_back(i + 1);
}
for (int i = 1; i <= n; ++i) {
sort(v[i].begin(), v[i].end(), [&](int a, int b) { return y[a] < y[b]; });
f[i] = g[i] = max(f[i - 1], g[i - 1]);
int l1 = v[i - 1].size(), l2 = v[i].size(), c = l1;
i64 mx = i >= 2 ? max(f[i - 2], g[i - 2]) : 0;
if (i != 1) {
for (int j = l2 - 1; j >= 0; --j) {
if (j < l2 - 1) dp[v[i][j]][0] = dp[v[i][j + 1]][0] + w[v[i][j]];
while (c && y[v[i - 1][c - 1]] > y[v[i][j]])
mx = max(mx, dp[v[i - 1][--c]][0]);
dp[v[i][j]][0] = max(dp[v[i][j]][0], mx + w[v[i][j]]);
f[i] = max(f[i], dp[v[i][j]][0]);
}
}
c = 0; mx = f[i - 1];
if (i != n) {
for (int j = 0; j < l2; ++j) {
if (j) dp[v[i][j]][1] = dp[v[i][j - 1]][1] + w[v[i][j]];
while (c < l1 && y[dp[i - 1][c]] < y[dp[i][j]])
mx = max(mx, dp[v[i - 1][c++]][1]);
dp[v[i][j]][1] = max(dp[v[i][j]][1], mx + w[v[i][j]]);
g[i] = max(g[i], dp[v[i][j]][1]);
}
}
}
i64 ans = 0;
for (int i = 1; i <= m; ++i) ans = max({ans, dp[i][0], dp[i][1]});
return ans;
}
Details
Tip: Click on the bar to expand more detailed information
Subtask #1:
score: 3
Accepted
Test #1:
score: 3
Accepted
time: 34ms
memory: 16076kb
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: 0
Accepted
time: 33ms
memory: 17284kb
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: 0
Accepted
time: 1ms
memory: 12228kb
input:
f785163bfcb92ce6ac387bba5d2f29a0e0f37f19 100000 1 0 0 10082010
output:
938f2698235a9ff1d1d91e23381b68bec7bed102 OK 10082010
result:
ok 3 lines
Test #4:
score: 0
Accepted
time: 2ms
memory: 12208kb
input:
f785163bfcb92ce6ac387bba5d2f29a0e0f37f19 100000 1 0 99999 19122012
output:
938f2698235a9ff1d1d91e23381b68bec7bed102 OK 19122012
result:
ok 3 lines
Test #5:
score: 0
Accepted
time: 92ms
memory: 28280kb
input:
f785163bfcb92ce6ac387bba5d2f29a0e0f37f19 100000 300000 94880 38243 268662731 31482 11260 116303310 31482 29385 147398833 85804 78816 165663896 85804 50892 232441179 85804 52149 500231552 31482 15077 912836767 94880 13332 204098181 85804 4048 862989578 31482 94135 432330909 85804 30398 552396632 3702...
output:
938f2698235a9ff1d1d91e23381b68bec7bed102 OK 149814460735479
result:
ok 3 lines
Test #6:
score: 0
Accepted
time: 108ms
memory: 29552kb
input:
f785163bfcb92ce6ac387bba5d2f29a0e0f37f19 100000 300000 66138 12864 1000000000 3750 4109 1000000000 42566 70555 1000000000 33020 72709 1000000000 57804 39219 1000000000 28208 65932 1000000000 13384 22179 1000000000 69976 69860 1000000000 82704 18635 1000000000 74094 31581 1000000000 95460 25871 10000...
output:
938f2698235a9ff1d1d91e23381b68bec7bed102 OK 300000000000000
result:
ok 3 lines
Subtask #2:
score: 0
Runtime Error
Test #7:
score: 6
Accepted
time: 3ms
memory: 10748kb
input:
f785163bfcb92ce6ac387bba5d2f29a0e0f37f19 3 2 0 0 1 1 1 1
output:
938f2698235a9ff1d1d91e23381b68bec7bed102 OK 2
result:
ok 3 lines
Test #8:
score: -6
Runtime Error
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:
Unauthorized output
result:
Subtask #3:
score: 0
Runtime Error
Test #20:
score: 9
Accepted
time: 5ms
memory: 12320kb
input:
f785163bfcb92ce6ac387bba5d2f29a0e0f37f19 100000 1 0 0 10082010
output:
938f2698235a9ff1d1d91e23381b68bec7bed102 OK 10082010
result:
ok 3 lines
Test #21:
score: 0
Accepted
time: 4ms
memory: 12160kb
input:
f785163bfcb92ce6ac387bba5d2f29a0e0f37f19 100000 1 99999 0 882019
output:
938f2698235a9ff1d1d91e23381b68bec7bed102 OK 882019
result:
ok 3 lines
Test #22:
score: -9
Runtime Error
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:
Unauthorized output
result:
Subtask #4:
score: 0
Wrong Answer
Test #28:
score: 0
Wrong Answer
time: 2ms
memory: 10552kb
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: 35ms
memory: 19792kb
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 70811
result:
wrong answer 3rd lines differ - expected: '99999', found: '70811'
Subtask #8:
score: 0
Skipped
Dependency #1:
100%
Accepted
Dependency #2:
0%