Pagini recente » Cod sursa (job #1630891) | Cod sursa (job #2743805) | Cod sursa (job #2783676) | Cod sursa (job #2895931) | Cod sursa (job #2486714)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("oo.in");
ofstream fout("oo.out");
int n, a[100010], dp[100010], 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);
int oua = max(m1, max(m2, m3));
fout<<oua<<'\n';
fin.close();
fout.close();
return 0;
}