QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#46975 | #4561. Catfish Farm | zhoukangyang# | 0 | 4ms | 32496kb | C++11 | 2.1kb | 2022-09-03 12:21:34 | 2024-05-26 01:07:28 |
Judging History
answer
#include<bits/stdc++.h>
#define L(i, j, k) for(int i = (j); i <= (k); ++i)
#define R(i, j, k) for(int i = (j); i >= (k); --i)
#define ll long long
#define vi vector < int >
#define sz(a) ((int) (a).size())
#define me(a, x) memset(a, x, sizeof(a))
using namespace std;
const int N = 1e6 + 7;
int n, m;
struct segt {
ll mx[N];
void upd(int x) { mx[x] = max(mx[x << 1], mx[x << 1 | 1]); }
void Add(int x, int L, int R, int p, ll w) {
if(L == R) return mx[x] = max(mx[x], w), void();
int mid = (L + R) >> 1;
p <= mid ? Add(x << 1, L, mid, p, w) : Add(x << 1 | 1, mid + 1, R, p, w), upd(x);
}
ll Query(int x, int L, int R, int l, int r) {
if(l <= L && R <= r) return mx[x];
ll ns = -1e18;
int mid = (L + R) >> 1;
if(l <= mid) ns = max(ns, Query(x << 1, L, mid, l, r));
if(r > mid) ns = max(ns, Query(x << 1 | 1, mid + 1, R, l, r));
return ns;
}
void ins(int x, ll w) {
Add(1, 0, n + 1, x, w);
}
ll get(int l, int r) {
return Query(1, 0, n, l, r);
}
void build(int x, int L, int R) {
if(L == R) return ;
mx[x] = -1e18;
int mid = (L + R) >> 1;
build(x << 1, L, mid);
build(x << 1 | 1, mid + 1, R);
}
} a, b;
/*
a : up
b : down
*/
vector < pair < int, int > > pr[N];
ll A[N], B[N], F[N], bc[N];
void case1(int x) { // a transform.
sort(pr[x].begin(), pr[x].end());
for(auto u : pr[x]) {
a.ins(u.first + 1, a.get(0, u.first) + u.second);
}
cout << "bc = " << bc[x] << '\n';
L(i, 0, n)
a.ins(i, bc[x]);
}
void case2(int x) {
sort(pr[x + 1].begin(), pr[x + 1].end());
reverse(pr[x + 1].begin(), pr[x + 1].end());
for(auto u : pr[x + 1]) {
ll dwn = b.get(u.first + 1, n) + u.second;
bc[x + 1] = max(bc[x + 1], dwn);
b.ins(u.first, dwn);
}
}
ll S[N];
ll max_weights(int xn, int xm, vi x, vi y, vi z) {
n = xn, m = xm;
L(i, 0, m - 1) pr[x[i]].push_back({y[i], z[i]}), S[x[i]] += y[i];
a.build(1, 0, n);
b.build(1, 0, n);
a.ins(0, 0);
L(i, 0, n) {
ll upd = b.get(0, n);
b.ins(n, a.get(0, n)), case1(i), case2(i), a.ins(0, upd);
b.ins(n, a.get(0, n));
}
return a.get(0, 0);
}
Details
Tip: Click on the bar to expand more detailed information
Subtask #1:
score: 0
Time Limit Exceeded
Test #1:
score: 0
Time Limit Exceeded
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:
Unauthorized output
result:
Subtask #2:
score: 0
Wrong Answer
Test #7:
score: 0
Wrong Answer
time: 0ms
memory: 32496kb
input:
f785163bfcb92ce6ac387bba5d2f29a0e0f37f19 3 2 0 0 1 1 1 1
output:
Unauthorized output
result:
wrong answer 1st lines differ - expected: '938f2698235a9ff1d1d91e23381b68bec7bed102', found: 'Unauthorized output'
Subtask #3:
score: 0
Time Limit Exceeded
Test #20:
score: 0
Time Limit Exceeded
input:
f785163bfcb92ce6ac387bba5d2f29a0e0f37f19 100000 1 0 0 10082010
output:
Unauthorized output
result:
Subtask #4:
score: 0
Wrong Answer
Test #28:
score: 0
Wrong Answer
time: 4ms
memory: 32444kb
input:
f785163bfcb92ce6ac387bba5d2f29a0e0f37f19 4 3 2 2 1 0 0 1 1 1 1
output:
Unauthorized output
result:
wrong answer 1st lines differ - expected: '938f2698235a9ff1d1d91e23381b68bec7bed102', found: 'Unauthorized output'
Subtask #5:
score: 0
Skipped
Dependency #4:
0%
Subtask #6:
score: 0
Skipped
Dependency #5:
0%
Subtask #7:
score: 0
Time Limit Exceeded
Test #60:
score: 0
Time Limit Exceeded
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:
Unauthorized output
result:
Subtask #8:
score: 0
Skipped
Dependency #1:
0%