# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
293885 | 2020-09-08T13:29:57 Z | arnold518 | Two Dishes (JOI19_dishes) | C++14 | 10000 ms | 19044 KB |
#include <bits/stdc++.h> using namespace std; typedef long long ll; typedef pair<int, int> pii; typedef pair<ll, ll> pll; const int MAXN = 1e6; struct Point { int x, y; ll w; }; vector<Point> V; int N, M; ll ans; ll A[MAXN+10], S[MAXN+10], P[MAXN+10], B[MAXN+10], T[MAXN+10], Q[MAXN+10]; ll dp[MAXN+10]; int main() { scanf("%d%d", &N, &M); for(int i=1; i<=N; i++) scanf("%lld%lld%lld", &A[i], &S[i], &P[i]), A[i]+=A[i-1]; for(int i=1; i<=M; i++) scanf("%lld%lld%lld", &B[i], &T[i], &Q[i]), B[i]+=B[i-1]; for(int i=1; i<=N; i++) { int t=upper_bound(B, B+M+1, S[i]-A[i])-B-1; if(t<0) continue; if(t==M) { ans+=P[i]; continue; } int x=i, y=t; x--; y++; V.push_back({x, y, -P[i]}); ans+=P[i]; } for(int i=1; i<=M; i++) { int t=upper_bound(A, A+N+1, T[i]-B[i])-A-1; if(t<0) continue; if(t==N) { ans+=Q[i]; continue; } int y=i, x=t; V.push_back({x, y, Q[i]}); } sort(V.begin(), V.end(), [&](const Point &p, const Point &q) { if(p.x!=q.x) return p.x<q.x; if(p.w!=q.w) return p.y>q.y; return p.w>q.w; }); for(int i=0; i<V.size(); i++) { for(int j=1; j<=M; j++) dp[j]=max(dp[j], dp[j-1]); for(int j=V[i].y; j<=M; j++) dp[j]+=V[i].w; } printf("%lld\n", dp[M]+ans); }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Execution timed out | 10042 ms | 19044 KB | Time limit exceeded |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 384 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 384 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 384 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 384 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 384 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Execution timed out | 10042 ms | 19044 KB | Time limit exceeded |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Execution timed out | 10042 ms | 19044 KB | Time limit exceeded |
2 | Halted | 0 ms | 0 KB | - |