Pagini recente » Cod sursa (job #1977740) | Cod sursa (job #1784366) | Cod sursa (job #289935) | Cod sursa (job #1792334) | Cod sursa (job #681092)
Cod sursa(job #681092)
/*#include<iostream>
#include<fstream>
using namespace std;
int a[100005],v[100005],sol;
int max(int a, int b)
{
if (a>b)
return a;
return b;
}
void rez(int s, int f)
{
int i;
v[s-2]=0;
v[s-1]=a[s-1]+a[s-2];
for (i=s; i<=f; i++)
{
v[i]=max(v[i-1], v[i-3]+a[i]+a[i-1]);
sol=max (s, v[i]);
}
}
int main(void)
{
int n,i;
fstream f,g;
f.open("oo.in",ios::in);
g.open("oo.out",ios::out);
f>>n;
for (i=1;i<=n;i++)
f>>a[i];
a[n+1]=a[1];
rez(3,n-1);
rez(4,n);
rez(5,n+1);
g<<sol;
}*/
#include<iostream>
#include<fstream>
using namespace std;
ifstream f("oo.in");
ofstream g("oo.out");
int a[100003],v[100003],s;
int max(int c, int d)
{
if(c>d) return c;
else
return d;
}
void rez(int x, int y)
{
v[x-2]=0;
v[x-1]=a[x-1]+a[x-2];
for(int i=x;i<=y;i++)
{
v[i]=max(v[i-1], v[i-3]+a[i]+a[i-1]);
s=max(s,v[i]);
}
}
int main()
{
int i,n;
f>>n;
for(i=1;i<=n;i++)
f>>a[i];
a[n+1]=a[1];
rez(3,n-1);
rez(4,n);
rez(5,n+1);
g<<s<<'\n';
return 0;
}