# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
45425 | 2018-04-13T09:34:11 Z | choikiwon | Maxcomp (info1cup18_maxcomp) | C++17 | 198 ms | 4660 KB |
#include<bits/stdc++.h> using namespace std; int N, M; int A[1010][1010]; int mn1[1010], mn2[1010]; int main() { scanf("%d %d", &N, &M); for(int i = 0; i < N; i++) { for(int j = 0; j < M; j++) { scanf("%d", &A[i][j]); } } int ans = -2e9; for(int i = 0; i < M; i++) { mn1[i] = 2e9; mn2[i] = 2e9; } for(int i = N - 1; i >= 0; i--) { int tmn1 = 2e9; int tmn2 = 2e9; for(int j = 0; j < M; j++) { ans = max(ans, A[i][j] + i - j - tmn1 - 1); mn1[j] = min(mn1[j], A[i][j] + i - j); tmn1 = min(tmn1, mn1[j]); } for(int j = M - 1; j >= 0; j--) { ans = max(ans, A[i][j] + i + j - tmn2 - 1); mn2[j] = min(mn2[j], A[i][j] + i + j); tmn2 = min(tmn2, mn2[j]); } } for(int i = 0; i < M; i++) { mn1[i] = 2e9; mn2[i] = 2e9; } for(int i = 0; i < N; i++) { int tmn1 = 2e9; int tmn2 = 2e9; for(int j = M - 1; j >= 0; j--) { mn1[j] = min(mn1[j], A[i][j] - (i - j)); tmn1 = min(tmn1, mn1[j]); ans = max(ans, A[i][j] - (i - j) - tmn1 - 1); } for(int j = 0; j < M; j++) { mn2[j] = min(mn2[j], A[i][j] - (i + j)); tmn2 = min(tmn2, mn2[j]); ans = max(ans, A[i][j] - (i + j) - tmn2 - 1); } } printf("%d", ans); }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 248 KB | Output is correct |
2 | Correct | 2 ms | 356 KB | Output is correct |
3 | Correct | 2 ms | 408 KB | Output is correct |
4 | Correct | 2 ms | 408 KB | Output is correct |
5 | Correct | 2 ms | 408 KB | Output is correct |
6 | Correct | 2 ms | 408 KB | Output is correct |
7 | Correct | 2 ms | 408 KB | Output is correct |
8 | Correct | 2 ms | 408 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 468 KB | Output is correct |
2 | Correct | 2 ms | 596 KB | Output is correct |
3 | Correct | 2 ms | 596 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 248 KB | Output is correct |
2 | Correct | 2 ms | 356 KB | Output is correct |
3 | Correct | 2 ms | 408 KB | Output is correct |
4 | Correct | 2 ms | 408 KB | Output is correct |
5 | Correct | 2 ms | 408 KB | Output is correct |
6 | Correct | 2 ms | 408 KB | Output is correct |
7 | Correct | 2 ms | 408 KB | Output is correct |
8 | Correct | 2 ms | 408 KB | Output is correct |
9 | Correct | 2 ms | 752 KB | Output is correct |
10 | Correct | 3 ms | 752 KB | Output is correct |
11 | Correct | 2 ms | 752 KB | Output is correct |
12 | Correct | 2 ms | 752 KB | Output is correct |
13 | Correct | 2 ms | 796 KB | Output is correct |
14 | Correct | 2 ms | 796 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 248 KB | Output is correct |
2 | Correct | 2 ms | 356 KB | Output is correct |
3 | Correct | 2 ms | 408 KB | Output is correct |
4 | Correct | 2 ms | 408 KB | Output is correct |
5 | Correct | 2 ms | 408 KB | Output is correct |
6 | Correct | 2 ms | 408 KB | Output is correct |
7 | Correct | 2 ms | 408 KB | Output is correct |
8 | Correct | 2 ms | 408 KB | Output is correct |
9 | Correct | 2 ms | 468 KB | Output is correct |
10 | Correct | 2 ms | 596 KB | Output is correct |
11 | Correct | 2 ms | 596 KB | Output is correct |
12 | Correct | 2 ms | 752 KB | Output is correct |
13 | Correct | 3 ms | 752 KB | Output is correct |
14 | Correct | 2 ms | 752 KB | Output is correct |
15 | Correct | 2 ms | 752 KB | Output is correct |
16 | Correct | 2 ms | 796 KB | Output is correct |
17 | Correct | 2 ms | 796 KB | Output is correct |
18 | Correct | 193 ms | 4588 KB | Output is correct |
19 | Correct | 194 ms | 4588 KB | Output is correct |
20 | Correct | 186 ms | 4588 KB | Output is correct |
21 | Correct | 198 ms | 4660 KB | Output is correct |
22 | Correct | 187 ms | 4660 KB | Output is correct |
23 | Correct | 192 ms | 4660 KB | Output is correct |
24 | Correct | 157 ms | 4660 KB | Output is correct |