Pagini recente » Profil RazvanDinu | Cod sursa (job #2227488) | Cod sursa (job #1001528) | Cod sursa (job #243971) | Cod sursa (job #419219)
Cod sursa(job #419219)
#include <cstdio>
int vector[3][100001],n,i,k;
long long sum,max;
FILE * in = fopen("oo.in","rt");
FILE * out = fopen("oo.out","wt");
//void show();
int main()
{
fscanf(in,"%d",&n);
fscanf(in,"%d",&vector[1][1]);
for(i=2;i<=n;i++)
{
fscanf(in,"%d",&vector[1][i]);
vector[2][i-1] = vector[1][i-1] + vector[1][i];
}
vector[2][n] = vector[1][n] + vector[1][1];
//show();
for(;;)
{
max = -1;
for(i=1;i<=n;i++)
if(vector[2][i] > max && vector[1][i-1] != -1 && vector[1][i+1] != -1)
{
max = vector[2][i];
k = i;
}
if(max == -1)
break;
// show();
//printf("%d %d\n",max,k);
vector[1][k] = -1;
vector[2][k] = -1;
vector[1][k-1] = -1;
vector[2][k-1] = -1;
vector[1][k+1] = -1;
vector[2][k+1] = -1;
vector[1][k+2] = -1;
vector[2][k+2] = -1;
if(k == 1)
{
vector[1][n] = -1;
vector[2][n] = -1;
}
if(k == n)
{
vector[1][1] = -1;
vector[2][1] = -1;
vector[2][1] = -1;
vector[2][2] = -1;
}
sum = sum + max;
}
fprintf(out,"%lld",sum);
return (0);
}
/*
void show()
{
for(i=1;i<=n;i++)
printf("%d ",vector[1][i]);
printf("\n");
for(i=1;i<=n;i++)
printf("%d ",vector[2][i]);
printf("\n\n");
}
*/