# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
158428 | 2019-10-17T03:07:32 Z | luciocf | Lightning Conductor (POI11_pio) | C++17 | 1000 ms | 45620 KB |
#include <bits/stdc++.h> #pragma GCC optimize("Ofast") using namespace std; const int maxn = 5e5+10; const int maxl = 21; int n; int a[maxn]; int tab[maxn][maxl]; int lg[maxn]; void build(void) { lg[1] = 0; for (int i = 2; i < maxn; i++) lg[i] = lg[i/2]+1; for (int i = 1; i <= n; i++) tab[i][0] = a[i]; for (int j = 1; j < maxl; j++) for (int i = 1; i + (1<<j) <= n+1; i++) tab[i][j] = max(tab[i][j-1], tab[i+(1<<(j-1))][j-1]); } int mx(int l, int r) { int j = lg[r-l+1]; return max(tab[l][j], tab[r-(1<<j)+1][j]); } int main(void) { scanf("%d", &n); for (int i = 1; i <= n; i++) scanf("%d", &a[i]); build(); for (int i = 1; i <= n; i++) { int k = 0; for (int d = 1; (d-1)*(d-1) <= i; d++) { int l = max(1, i - d*d); int r = min(i-1, i - d*d + 2*d - 2); if (l > r) break; k = max(k, mx(l, r) + d); } for (int d = 1; (d-1)*(d-1) <= n-i; d++) { int l = max(i+1, d*d - 2*d + i + 2); int r = min(n, i + d*d); if (l > r) break; k = max(k, mx(l, r) + d); } printf("%d\n", max(0, k-a[i])); } }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 4 ms | 2296 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 4 ms | 2296 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 4 ms | 2296 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 95 ms | 5168 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 195 ms | 7152 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 278 ms | 8312 KB | Output is correct |
2 | Correct | 284 ms | 8144 KB | Output is correct |
3 | Correct | 276 ms | 8440 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 547 ms | 11344 KB | Output is correct |
2 | Correct | 521 ms | 11256 KB | Output is correct |
3 | Correct | 543 ms | 11720 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Execution timed out | 1066 ms | 22504 KB | Time limit exceeded |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Execution timed out | 1073 ms | 33108 KB | Time limit exceeded |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Execution timed out | 1064 ms | 45620 KB | Time limit exceeded |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Execution timed out | 1053 ms | 45608 KB | Time limit exceeded |
2 | Halted | 0 ms | 0 KB | - |