Cod sursa(job #2088882)
| Utilizator | Data | 15 decembrie 2017 23:23:36 | |
|---|---|---|---|
| Problema | Oo | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.49 kb |
#include <bits/stdc++.h>
using namespace std;
int n,A[100010],DP[100010],ans;
int main(){
freopen("oo.in","r",stdin);
freopen("oo.out","w",stdout);
cin>>n;
for (int i=1; i<=n; i++) cin>>A[i];
A[0]=A[n];
DP[1]=A[0]+A[1];
DP[2]=max(DP[1],A[1]+A[2]);
DP[3]=max(DP[2],A[2]+A[3]);
for (int i=4; i<n; i++){
DP[i]=max(DP[i-1],DP[i-4]+A[i]+A[i-1]);
}
//for (int i=1; i<=n; i++) cout<<DP[i]<<" ";
cout<<DP[n-1];
return 0;
}
