# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
200039 | 2020-02-05T03:47:56 Z | arnold518 | Two Dishes (JOI19_dishes) | C++14 | 10000 ms | 14436 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; int N, M; ll A[MAXN+10], S[MAXN+10], P[MAXN+10]; ll B[MAXN+10], T[MAXN+10], Q[MAXN+10]; int X[MAXN+10], Y[MAXN+10]; ll slope[MAXN+10], cut, dp[MAXN+10]; bool chk[MAXN+10]; int main() { int i, j, k; scanf("%d%d", &N, &M); for(i=1; i<=N; i++) scanf("%lld%lld%lld", &A[i], &S[i], &P[i]), A[i]+=A[i-1]; for(i=1; i<=M; i++) scanf("%lld%lld%lld", &B[i], &T[i], &Q[i]), B[i]+=B[i-1]; for(i=1; i<=N; i++) X[i]=upper_bound(B, B+M+1, S[i]-A[i])-B-1; for(i=1; i<=M; i++) Y[i]=upper_bound(A, A+N+1, T[i]-B[i])-A-1; vector<pii> V; for(i=1; i<=N; i++) V.push_back({X[i], i}); sort(V.begin(), V.end()); for(j=1; j<=N; j++) if(0<=X[j]) dp[j]=max(dp[j], dp[j-1]+1); //for(j=0; j<=N; j++) printf("%lld ", dp[j]); printf("\n"); for(i=1; i<=M; i++) { for(j=0; j<=Y[i]; j++) dp[j]++; //for(j=0; j<=N; j++) printf("%lld ", dp[j]); printf("\n"); for(j=1; j<=N; j++) if(i<=X[j]) dp[j]=max(dp[j], dp[j-1]+1); } /* for(i=1; i<=N; i++) if(X[i]>=0) slope[i]=1, chk[i]=true; for(i=1, j=0; i<=M; i++) { for(; j<V.size() && V[j].first<i; j++) chk[V[j].second]=false; if(Y[i]>=0) { cut++; if(!chk[Y[i]+1] && slope[Y[i]+1]) slope[Y[i]+1]=0; } //for(k=1; k<=N; k++) printf("%lld ", slope[k]); printf(" : %lld\n", cut); } for(i=1; i<=N; i++) slope[i]+=slope[i-1]; printf("%lld", slope[N]+cut); */ printf("%lld\n", dp[N]); }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Execution timed out | 10079 ms | 14436 KB | Time limit exceeded |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 5 ms | 376 KB | Output is correct |
2 | Correct | 5 ms | 372 KB | Output is correct |
3 | Correct | 5 ms | 376 KB | Output is correct |
4 | Correct | 5 ms | 376 KB | Output is correct |
5 | Incorrect | 5 ms | 376 KB | Output isn't correct |
6 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 5 ms | 376 KB | Output is correct |
2 | Correct | 5 ms | 372 KB | Output is correct |
3 | Correct | 5 ms | 376 KB | Output is correct |
4 | Correct | 5 ms | 376 KB | Output is correct |
5 | Incorrect | 5 ms | 376 KB | Output isn't correct |
6 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 5 ms | 376 KB | Output is correct |
2 | Correct | 5 ms | 372 KB | Output is correct |
3 | Correct | 5 ms | 376 KB | Output is correct |
4 | Correct | 5 ms | 376 KB | Output is correct |
5 | Incorrect | 5 ms | 376 KB | Output isn't correct |
6 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 5 ms | 376 KB | Output is correct |
2 | Correct | 5 ms | 372 KB | Output is correct |
3 | Correct | 5 ms | 376 KB | Output is correct |
4 | Correct | 5 ms | 376 KB | Output is correct |
5 | Incorrect | 5 ms | 376 KB | Output isn't correct |
6 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 5 ms | 376 KB | Output is correct |
2 | Correct | 5 ms | 372 KB | Output is correct |
3 | Correct | 5 ms | 376 KB | Output is correct |
4 | Correct | 5 ms | 376 KB | Output is correct |
5 | Incorrect | 5 ms | 376 KB | Output isn't correct |
6 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Execution timed out | 10079 ms | 14436 KB | Time limit exceeded |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Execution timed out | 10079 ms | 14436 KB | Time limit exceeded |
2 | Halted | 0 ms | 0 KB | - |