Pagini recente » Cod sursa (job #1391830) | Cod sursa (job #1568960) | Cod sursa (job #1782041) | Cod sursa (job #75827) | Cod sursa (job #2486706)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("oo.in");
ofstream fout("oo.out");
int n, a[100001], dp[100001], i, j, k;
int p(int i, int j){
dp[i] = 0;
dp[i+1] = a[i] + a[i+1];
for(k=i+2;k<=j;k++){
dp[k] = max((a[k] + a[k-1] + dp[k-3]), dp[k-1]);
}
return dp[j];
}
int main()
{
int m1, m2, m3;
fin>>n;
for(i=1;i<=n;i++){
fin>>a[i];
}
a[n+1] = a[1];
m1=p(1, n-1);
m2=p(2, n);
m3=p(3, n+1);
fout<<max(m1, max(m2, m3));
return 0;
}