Pagini recente » Cod sursa (job #2005792) | Monitorul de evaluare | Monitorul de evaluare | Diferente pentru utilizator/raluca1234 intre reviziile 35 si 34 | Cod sursa (job #1307946)
#include <fstream>
#include <cstdio>
#define nmax 100005
using namespace std;
ifstream f("oo.in");
ofstream g("oo.out");
int v[nmax+5],sol;
int a[nmax+5];
void trying(int k,int n)
{
int i,j;
for (i=0;i<=n+5;i++) a[i]=0;
for (i=k;i<=n+1;i++) {
a[i]=a[i-1];
if (i-2>=k)
if (a[i-3]+v[i-2]+v[i-1]>=a[i])
a[i]=a[i-3]+v[i-2]+v[i-1];
}
sol=max(sol,a[n+1]);
}
int main(){
int i,j,n;
f>>n;
for (i=1;i<=n;i++)
f>>v[i];
trying(1,n);
swap(v[0],v[n]);
trying(0,--n);
g<<sol;
return 0;
}