# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
929187 | 2024-02-17T22:28:34 Z | Stavab | Colouring a rectangle (eJOI19_colouring) | C++14 | 82 ms | 14672 KB |
#include <iostream> using namespace std; #define INF 9999999999999999 int A[200005][2]; int B[200005][2]; long long prSum[200005][2]; int main() { int N, M; scanf("%d %d", &N, &M); int input; for(int i = 0; i < 2; i++) { for(int j = 1; j <= N + M - 1; j++) { scanf("%d", &input); if(i == 0) { if(j % 2 == 1) A[(j + 1) / 2][0] = input; else A[j / 2][1] = input; } else { if(j % 2 == 1) B[(j + 1) / 2][0] = input; else B[j / 2][1] = input; } } } for(int i = 0; i < 2; i++) for(int j = 1; j <= N; j++) prSum[j][i] = prSum[j - 1][i] + B[j][i]; long long answer = 0; if(N % 2 == 1) { long long tmpAnswer = INF; long long sum = 0; int size = (N + 1) / 2; for(int j = 0; j < size; j++) { tmpAnswer = min(tmpAnswer, sum + prSum[N - j][0] - prSum[j][0]); if(j == 0) sum += A[size][0]; else { sum += A[size + j][0]; sum += A[size - j][0]; } } tmpAnswer = min(tmpAnswer, sum); answer += tmpAnswer; tmpAnswer = INF; sum = 0; size = (N - 1) / 2; for(int j = 0; j < size; j++) { tmpAnswer = min(tmpAnswer, sum + prSum[N - 1 - j][1] - prSum[j][1]); sum += A[size - j][1]; sum += A[size + 1 + j][1]; } tmpAnswer = min(tmpAnswer, sum); answer += tmpAnswer; } else { long long tmpAnswer = INF; long long sum = 0; int size = N / 2; for(int j = 0; j < size; j++) { tmpAnswer = min(tmpAnswer, sum + prSum[N - j][0] - prSum[j][0]); if(j == 0) sum += A[size][1]; else { sum += A[size + j][1]; sum += A[size - j][1]; } } tmpAnswer = min(tmpAnswer, sum); answer += tmpAnswer; tmpAnswer = INF; sum = 0; size = N / 2; for(int j = 0; j < size; j++) { tmpAnswer = min(tmpAnswer, sum + prSum[N - 1 - j][1] - prSum[j][1]); sum += A[size - j][0]; sum += A[size + 1 + j][0]; } tmpAnswer = min(tmpAnswer, sum); answer += tmpAnswer; } printf("%lld\n", answer); return 0; }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 2396 KB | Output is correct |
2 | Incorrect | 1 ms | 2396 KB | Output isn't correct |
3 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 2396 KB | Output is correct |
2 | Incorrect | 1 ms | 2396 KB | Output isn't correct |
3 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 2396 KB | Output is correct |
2 | Incorrect | 1 ms | 2396 KB | Output isn't correct |
3 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 2396 KB | Output is correct |
2 | Incorrect | 1 ms | 2396 KB | Output isn't correct |
3 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 34 ms | 3260 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 76 ms | 12736 KB | Output is correct |
2 | Correct | 82 ms | 14396 KB | Output is correct |
3 | Correct | 73 ms | 14420 KB | Output is correct |
4 | Correct | 71 ms | 14448 KB | Output is correct |
5 | Correct | 71 ms | 14672 KB | Output is correct |
6 | Correct | 63 ms | 11720 KB | Output is correct |
7 | Correct | 70 ms | 14020 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 2396 KB | Output is correct |
2 | Incorrect | 1 ms | 2396 KB | Output isn't correct |
3 | Halted | 0 ms | 0 KB | - |