Submission #1191625

#TimeUsernameProblemLanguageResultExecution timeMemory
1191625heheHacker (BOI15_hac)C++20
0 / 100
0 ms328 KiB
#include <bits/stdc++.h> using namespace std; int incearca(int now, vector<int> valori, int n) { int left_val = 0, right_val = 0, l = now, r; vector<int> been(n, 0); if (now == n - 1) r = 0; else r = now + 1; while (!been[l] && !been[r]) { left_val += valori[l]; been[l] = 1; been[r] = 1; if (l == 0) l = n - 1; else l--; if (r == n - 1) r = 0; else r++; } if (l == 0) l = n - 1; else l--; if (!been[l] && n % 2 == 1) left_val += valori[l]; fill(been.begin(), been.end(), 0); l = now; if (now == 0) r = n - 1; else r = now - 1; while (!been[l] && !been[r]) { right_val += valori[l]; been[l] = 1; been[r] = 1; if (l == n - 1) l = 0; else l++; if (r == 0) r = n - 1; else r--; } if (l == n - 1) l = 0; else l++; if (!been[l] && n % 2 == 1) right_val += valori[l]; return max(right_val, left_val); } int main() { int n, maximum = -1; cin >> n; vector<int> valori(n); for (int i = 0; i < n; i++) { cin >> valori[i]; } for (int i = 0; i < n; i++) { maximum = max(maximum, incearca(i, valori, n)); } cout << maximum; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...