Cod sursa(job #832503)
| Utilizator | Data | 10 decembrie 2012 19:49:05 | |
|---|---|---|---|
| Problema | Oo | Scor | 30 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.52 kb |
#include <cstdio>
using namespace std;
#define maxn 100001
int v[maxn];
int best[maxn];
inline int max(int a,int b)
{
if(a>=b)
return a;
return b;
}
int main()
{
freopen("oo.in","r",stdin);
freopen("oo.out","w",stdout);
int N,i;
scanf("%d",&N);
for(i=1;i<=N;++i)
scanf("%d",v+i);
best[1] = v[N]+v[1];
best[2] = max(best[1],v[2]+v[1]);
for(i=3;i<=N;++i)
best[i] = max(best[i-1],v[i]+v[i-1]+ best[i-3]);
printf("%d\n",best[N]);
return 0;
}
