Pagini recente » Cod sursa (job #951969) | Cod sursa (job #434720) | Cod sursa (job #1539624) | Cod sursa (job #575401) | Cod sursa (job #2046065)
#include <bits/stdc++.h>
using namespace std;
const int mxn = 100 * 1000 + 1;
int n, marime;
int v1[ mxn ], v2[ mxn ];
inline int poz(int k){
if(k < 0)
return n - k;
else
return k % n;
}
void stergere(int k){
marime -= 5;
for(int i = k - 2; i <= k + 2; i++)
v2[ poz( i ) ] = 0;
}
int main()
{
freopen("oo.in", "r", stdin);
freopen("oo.out", "w", stdout);
cin>> n;
marime = n;
scanf("%d", &v1[ 0 ]);
for(int i = 1; i < n; i++){
scanf("%d", &v1[ i ]);
v2[ i ] = v1[ i ] + v1[ i - 1 ];
}
v2[ 0 ] = v1[ 0 ] + v1[ n - 1 ];
int mxi, mx, s = 0;
while(marime > 0){
mx = 0;
for(int i = 0; i < n; i++)
if(mx < v2[ i ]){
mx = v2[ i ];
mxi = i;
}
stergere( mxi );
s += mx;
}
cout<< s;
}