# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
929066 | 2024-02-17T16:10:04 Z | Stavab | Colouring a rectangle (eJOI19_colouring) | C++14 | 35 ms | 7240 KB |
#include <iostream> using namespace std; #define INF 9999999999999999 int A[100005][2]; int B[100005][2]; long long prSum[100005][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][1] - prSum[j][1]); 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][0] - prSum[j][0]); 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
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 2392 KB | Output is correct |
2 | Incorrect | 1 ms | 2396 KB | Output isn't correct |
3 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 2392 KB | Output is correct |
2 | Incorrect | 1 ms | 2396 KB | Output isn't correct |
3 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 2392 KB | Output is correct |
2 | Incorrect | 1 ms | 2396 KB | Output isn't correct |
3 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 2392 KB | Output is correct |
2 | Incorrect | 1 ms | 2396 KB | Output isn't correct |
3 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 35 ms | 7240 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Runtime error | 20 ms | 4436 KB | Execution killed with signal 11 |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 2392 KB | Output is correct |
2 | Incorrect | 1 ms | 2396 KB | Output isn't correct |
3 | Halted | 0 ms | 0 KB | - |