提交时间:2023-08-09 15:56:27

运行 ID: 81568

#include<bits/stdc++.h> using namespace std; int n; int a[400010]; int main() { cin >> n; for (int i = 1; i <= n; i++) { cin >> a[i]; a[i + n] = a[i]; } if (n == 3) { sort(a + 1, a + 1 + n); cout << a[1]; return 0; } else if (n == 6) { int cnt = 0x3f; for (int i = 1; i <= n / 3 * 3; i += 2) { cnt = min(cnt, a[i] + a[i + 1]); } cout << cnt; return 0; } // else // { // int cnt = 0; // for (int i = 1; i <= n; i++) // { // cnt += a[i]; // } // cnt /= 3; // int ans[10086] = {0}; // for (int i = 1; i <= n; i++) // { // if (ans[i] > cnt) // { // continue; // } // for (int j = i; j <= n; i++) // { // if (ans[i] > cnt) // { // continue; // ans[i] += a[j]; // } // } // ans[i] = max(ans[i], ans[i - 1]); // } // cout << ans; // } else { int k = n / 3; int l = 0; int ans[100010] = {0}; int t = 0; for (int i = 1; i <= n * 2; i++) { ++t; for (int j = i; j <= i + k; j++) { ans[t] += a[j]; } if (ans > l) { l = ans; } } } return 0; }