Cod sursa(job #1166907)
| Utilizator | Data | 3 aprilie 2014 22:39:20 | |
|---|---|---|---|
| Problema | Oo | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.58 kb |
#include <cstdio>
#include <algorithm>
#define MAX 111111
using namespace std;
int d[MAX],v[MAX],sol;
void solve(int x,int y)
{
int i;
d[x]= 0;
d[x+1]=v[x]+v[x+1];
for (i=x+2;i<=y;++i)
d[i]=max(v[i]+v[i-1]+d[i-3],d[i-1]);
sol=max(sol,d[y]);
}
int main()
{
int n,i;
freopen("oo.in","r",stdin);
freopen("oo.out","w",stdout);
scanf("%d",&n);
scanf("%d",&v[1]);
v[n+1]= v[1];
for(i=2;i<=n;++i)scanf("%d",v+i);
solve(1,n-1);
solve(2,n);
solve(3,n+1);
printf("%d\n",sol);
return 0;
}
