Pagini recente » Cod sursa (job #1397038) | Cod sursa (job #64254) | Cod sursa (job #2656857) | Cod sursa (job #2125193) | Cod sursa (job #360216)
Cod sursa(job #360216)
#include <stdio.h>
#include <algorithm>
using namespace std;
FILE *f,*s;
int n,i,rez,v1[100005],v2[100005];
int main()
{
f=fopen("oo.in","r");
s=fopen("oo.out","w");
fscanf(f,"%d",&n);
for(i=1;i<=n;i++)
fscanf(f,"%d",&v1[i]);
if(n==2)
{
fprintf(s,"%d",v1[1]+v1[2]);
return 0;
}
v2[2]=v1[1]+v1[2];
for(i=3;i<n;i++)
v2[i]=max(v2[i-1],v1[i]+v1[i-1]+v2[i-3]);
rez=max(rez,v2[n-1]);
v2[2]=0;
for(i=3;i<=n;i++)
v2[i]=max(v2[i-1],v1[i]+v1[i-1]+v2[i-3]);
rez=max(rez,v2[n]);
v2[1]=v1[1]+v1[n];
v2[2]=v1[1]+v1[n];
for(i=3;i<n;i++)
v2[i]=max(v2[i-1],v1[i]+v1[i-1]+v2[i-3]);
rez=max(rez,v2[n-2]);
fprintf(s,"%d",rez);
fclose(s);
return 0;
}