이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <iostream>
#include <bits/stdc++.h>
using namespace std;
int main() {
//Console
ios::sync_with_stdio(false);
cin.tie(nullptr);
int N;
cin >> N;
int half = N/2 + N%2;
//cout << half;
vector<int> arr(N);
for(int i = 0; i < N; i++){
cin >> arr[i];
}
vector<int> cwWinSum(N);
int sum = 0;
for(int i = (N - (half)); i < N; i++){
sum += arr[i];
}
//iniSum += arr[0];
for(int i = 0; i < N; i++){
int idx = i - half;
if(idx < 0) {idx = N+idx;}
//cout << arr[idx] << "\n";
sum -= arr[idx];
sum += arr[i];
cwWinSum[i] = sum;
}
// for(int i = 0; i < N; i++){
// cout << cwWinSum[i] << "\n";
// }
vector<int> ccwWinSum(N);
sum = 0;
for(int i = 0; i < half; i++){
sum += arr[i];
}
for(int i = N-1; i >= 0; i--){
int idx = i + half;
if(idx >= N) idx -= N;
sum -= arr[idx];
sum += arr[i];
ccwWinSum[i] = sum;
}
int ans = INT_MIN;
for(int i = 0; i < N; i++){
ans = max(ans, min(cwWinSum[i], ccwWinSum[i]));
}
cout << ans;
}
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |