Pagini recente » Cod sursa (job #2028107) | Cod sursa (job #3206841) | Cod sursa (job #1693106) | Cod sursa (job #1235783) | Cod sursa (job #2046063)
#include <bits/stdc++.h>
using namespace std;
const int mxn = 100 * 1000 + 1;
int n, marime;
int v1[ mxn ];
vector< int > v2;
inline int poz(int k){
if(k < 0)
return n - k;
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;
v2.resize( 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;
return 0;
}