Cod sursa(job #795739)
| Utilizator | Data | 9 octombrie 2012 15:46:50 | |
|---|---|---|---|
| Problema | Oo | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.5 kb |
#include<fstream>
#define L 100005
using namespace std;
int d[L],v[L],i,p,n,sum;
int max(int a,int b)
{
if(a>=b)
return a;
return b;
}
void dinamica(int in,int sf)
{
for(i=1;i<=p;++i)
d[i]=0;
d[p]=v[p]+v[p-1];
for(i=p;i<=n;++i)
d[i]=max(d[i-3]+v[i]+v[i+1],d[i-1]);
sum=max(sum,d[n]);
}
int main ()
{
ifstream f("oo.in");
ofstream g("oo.out");
f>>n;
for(i=1;i<=n;++i)
f>>v[i];
v[n+1]=v[1];
dinamica(2,n-1);
dinamica(3,n);
dinamica(4,n+1);
g<<sum;
return 0;
}
