# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
580347 | 2022-06-21T06:17:27 Z | 반딧불(#8355) | Uplifting Excursion (BOI22_vault) | C++17 | 5000 ms | 16176 KB |
#include <bits/stdc++.h> #pragma GCC optimize("O3") #pragma GCC optimize("Ofast") #pragma GCC optimize("unroll-loops") using namespace std; typedef long long ll; const int LIM = 505000; const int LIM2 = LIM+LIM; void imp(){ puts("impossible"); exit(0); } int n, k; int arr[702]; int DP[2][LIM2+2]; int dq1[LIM2+2]; int dq2[LIM2+2]; int fr, sz; int main(){ scanf("%d %d", &n, &k); for(int i=0; i<=n+n; i++) scanf("%d", &arr[i]); if(k<=-LIM || k>=LIM) imp(); for(int i=0; i<=LIM2; i++) DP[0][i] = DP[1][i] = -1e9; DP[1][LIM] = 0; for(int i=0; i<=n+n; i++){ /// ����ġ: i+n int b = i%2; if(i>n){ /// ���� ����ġ int ri = i-n; for(int s=0; s<i+ri; s++){ fr=sz=0; for(int j=s, p=0; j<=LIM2; j+=ri, p++){ DP[b][j] = max(DP[b][j], DP[!b][j]); while(fr!=sz && dq2[fr] < p) fr++; int nf = DP[!b][j]-p; while(fr!=sz && dq1[sz-1] < nf) sz--; dq1[sz] = nf; dq2[sz++] = p+arr[i]; DP[b][j] = max(DP[b][j], dq1[fr] + p); } } } else if(i==n){ for(int j=0; j<=LIM2; j++) DP[b][j] = max(DP[b][j], DP[!b][j]) + arr[i]; } else{ int ri = n-i; for(int s=0; s<i+ri; s++){ fr=sz=0; for(int j=LIM2-s, p=0; j>=0; j-=ri, p++){ DP[b][j] = max(DP[b][j], DP[!b][j]); while(fr!=sz && dq2[fr] < p) fr++; int nf = DP[!b][j]-p; while(fr!=sz && dq1[sz-1] < nf) sz--; dq1[sz] = nf; dq2[sz++] = p+arr[i]; DP[b][j] = max(DP[b][j], dq1[fr] + p); } } } } if(DP[0][LIM+k] <= 0) imp(); printf("%d", DP[0][LIM+k]); }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 56 ms | 16092 KB | Output is correct |
2 | Correct | 88 ms | 15992 KB | Output is correct |
3 | Correct | 37 ms | 15996 KB | Output is correct |
4 | Correct | 386 ms | 16056 KB | Output is correct |
5 | Correct | 0 ms | 212 KB | Output is correct |
6 | Correct | 4098 ms | 16092 KB | Output is correct |
7 | Correct | 3746 ms | 16176 KB | Output is correct |
8 | Correct | 4158 ms | 16160 KB | Output is correct |
9 | Correct | 4164 ms | 16092 KB | Output is correct |
10 | Correct | 3270 ms | 16028 KB | Output is correct |
11 | Correct | 3428 ms | 16092 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 56 ms | 16092 KB | Output is correct |
2 | Correct | 88 ms | 15992 KB | Output is correct |
3 | Correct | 37 ms | 15996 KB | Output is correct |
4 | Correct | 386 ms | 16056 KB | Output is correct |
5 | Correct | 0 ms | 212 KB | Output is correct |
6 | Correct | 4098 ms | 16092 KB | Output is correct |
7 | Correct | 3746 ms | 16176 KB | Output is correct |
8 | Correct | 4158 ms | 16160 KB | Output is correct |
9 | Correct | 4164 ms | 16092 KB | Output is correct |
10 | Correct | 3270 ms | 16028 KB | Output is correct |
11 | Correct | 3428 ms | 16092 KB | Output is correct |
12 | Correct | 54 ms | 16088 KB | Output is correct |
13 | Correct | 79 ms | 16084 KB | Output is correct |
14 | Correct | 30 ms | 16040 KB | Output is correct |
15 | Correct | 393 ms | 16088 KB | Output is correct |
16 | Correct | 0 ms | 212 KB | Output is correct |
17 | Correct | 4396 ms | 16044 KB | Output is correct |
18 | Correct | 4131 ms | 16088 KB | Output is correct |
19 | Correct | 3968 ms | 16176 KB | Output is correct |
20 | Correct | 4214 ms | 16096 KB | Output is correct |
21 | Correct | 3559 ms | 16096 KB | Output is correct |
22 | Correct | 3354 ms | 16092 KB | Output is correct |
23 | Correct | 1 ms | 212 KB | Output is correct |
24 | Execution timed out | 5055 ms | 15992 KB | Time limit exceeded |
25 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 426 ms | 16096 KB | Output is correct |
2 | Incorrect | 1 ms | 212 KB | Output isn't correct |
3 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 426 ms | 16096 KB | Output is correct |
2 | Incorrect | 1 ms | 212 KB | Output isn't correct |
3 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 426 ms | 16096 KB | Output is correct |
2 | Incorrect | 1 ms | 212 KB | Output isn't correct |
3 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 56 ms | 16092 KB | Output is correct |
2 | Correct | 88 ms | 15992 KB | Output is correct |
3 | Correct | 37 ms | 15996 KB | Output is correct |
4 | Correct | 386 ms | 16056 KB | Output is correct |
5 | Correct | 0 ms | 212 KB | Output is correct |
6 | Correct | 4098 ms | 16092 KB | Output is correct |
7 | Correct | 3746 ms | 16176 KB | Output is correct |
8 | Correct | 4158 ms | 16160 KB | Output is correct |
9 | Correct | 4164 ms | 16092 KB | Output is correct |
10 | Correct | 3270 ms | 16028 KB | Output is correct |
11 | Correct | 3428 ms | 16092 KB | Output is correct |
12 | Correct | 426 ms | 16096 KB | Output is correct |
13 | Incorrect | 1 ms | 212 KB | Output isn't correct |
14 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 426 ms | 16096 KB | Output is correct |
2 | Incorrect | 1 ms | 212 KB | Output isn't correct |
3 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 56 ms | 16092 KB | Output is correct |
2 | Correct | 88 ms | 15992 KB | Output is correct |
3 | Correct | 37 ms | 15996 KB | Output is correct |
4 | Correct | 386 ms | 16056 KB | Output is correct |
5 | Correct | 0 ms | 212 KB | Output is correct |
6 | Correct | 4098 ms | 16092 KB | Output is correct |
7 | Correct | 3746 ms | 16176 KB | Output is correct |
8 | Correct | 4158 ms | 16160 KB | Output is correct |
9 | Correct | 4164 ms | 16092 KB | Output is correct |
10 | Correct | 3270 ms | 16028 KB | Output is correct |
11 | Correct | 3428 ms | 16092 KB | Output is correct |
12 | Correct | 54 ms | 16088 KB | Output is correct |
13 | Correct | 79 ms | 16084 KB | Output is correct |
14 | Correct | 30 ms | 16040 KB | Output is correct |
15 | Correct | 393 ms | 16088 KB | Output is correct |
16 | Correct | 0 ms | 212 KB | Output is correct |
17 | Correct | 4396 ms | 16044 KB | Output is correct |
18 | Correct | 4131 ms | 16088 KB | Output is correct |
19 | Correct | 3968 ms | 16176 KB | Output is correct |
20 | Correct | 4214 ms | 16096 KB | Output is correct |
21 | Correct | 3559 ms | 16096 KB | Output is correct |
22 | Correct | 3354 ms | 16092 KB | Output is correct |
23 | Correct | 1 ms | 212 KB | Output is correct |
24 | Execution timed out | 5055 ms | 15992 KB | Time limit exceeded |
25 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 426 ms | 16096 KB | Output is correct |
2 | Incorrect | 1 ms | 212 KB | Output isn't correct |
3 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 56 ms | 16092 KB | Output is correct |
2 | Correct | 88 ms | 15992 KB | Output is correct |
3 | Correct | 37 ms | 15996 KB | Output is correct |
4 | Correct | 386 ms | 16056 KB | Output is correct |
5 | Correct | 0 ms | 212 KB | Output is correct |
6 | Correct | 4098 ms | 16092 KB | Output is correct |
7 | Correct | 3746 ms | 16176 KB | Output is correct |
8 | Correct | 4158 ms | 16160 KB | Output is correct |
9 | Correct | 4164 ms | 16092 KB | Output is correct |
10 | Correct | 3270 ms | 16028 KB | Output is correct |
11 | Correct | 3428 ms | 16092 KB | Output is correct |
12 | Correct | 54 ms | 16088 KB | Output is correct |
13 | Correct | 79 ms | 16084 KB | Output is correct |
14 | Correct | 30 ms | 16040 KB | Output is correct |
15 | Correct | 393 ms | 16088 KB | Output is correct |
16 | Correct | 0 ms | 212 KB | Output is correct |
17 | Correct | 4396 ms | 16044 KB | Output is correct |
18 | Correct | 4131 ms | 16088 KB | Output is correct |
19 | Correct | 3968 ms | 16176 KB | Output is correct |
20 | Correct | 4214 ms | 16096 KB | Output is correct |
21 | Correct | 3559 ms | 16096 KB | Output is correct |
22 | Correct | 3354 ms | 16092 KB | Output is correct |
23 | Correct | 1 ms | 212 KB | Output is correct |
24 | Execution timed out | 5055 ms | 15992 KB | Time limit exceeded |
25 | Halted | 0 ms | 0 KB | - |