Pagini recente » Cod sursa (job #801327) | Cod sursa (job #92812) | Cod sursa (job #274933) | Cod sursa (job #3129867) | Cod sursa (job #2210417)
#include <fstream>
using namespace std;
ifstream fin("oo.in");
ofstream fout("oo.out");
int n,i,v[100010],d[100010],sol;
int main() {
fin>>n;
for (i=1;i<=n;i++)
fin>>v[i];
d[1]=v[1]; d[2]=v[1]+v[2]; ///nu iau ultimul element
for (i=3;i<n;i++)
d[i]=max(v[i]+v[i-1]+d[i-3],d[i-1]);
sol=d[n-1];
d[1]=0; d[2]=v[2]; d[3]=v[2]+v[3]; ///nu iau primul element
for (i=4;i<=n;i++)
d[i]=max(v[i]+v[i-1]+d[i-3],d[i-1]);
sol=max(sol,d[n]);
d[1]=v[1]+v[n]; d[2]=d[1]; ///iau si primul, si ultimul element
for (i=2;i<n-1;i++)
d[i]=max(v[i]+v[i-1]+d[i-3],d[i-1]);
sol=max(sol,d[n-2]);
fout<<sol;
return 0;
}