Cod sursa(job #589956)
| Utilizator | Data | 14 mai 2011 19:25:08 | |
|---|---|---|---|
| Problema | Oo | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.55 kb |
#include <stdio.h>
int n, v[100002], d[100002];
int i,m;
FILE*f = fopen("oo.in","r");
FILE*g = fopen("oo.out","w");
int max(int a,int b){
if(a>b)
return a;
else
return b;
}
void din(int p,int u){
d[p-2]=0;
d[p-1]=v[p-2]+v[p-1];
for(i=p;i<=u;i++){
d[i]=max(d[i-1],d[i-3]+v[i-1]+v[i]);
m=max(d[i],m);
}
}
int main() {
fscanf(f,"%d",&n);
for(i=1;i<=n;i++){
fscanf(f,"%d",&v[i]);
}
v[n+1]=v[1];
din(3,n-1);
din(4,n);
din(5,n+1);
fprintf(g,"%d",m);
fclose(f);
fclose(g);
return 0;
}
