Cod sursa(job #2749235)
Utilizator | Data | 5 mai 2021 23:07:38 | |
---|---|---|---|
Problema | Oo | Scor | 0 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.55 kb |
#include <iostream>
#include <fstream>
using namespace std;
int suma,sol[100010];
int v[100010];
int n, i;
void greedy(int st,int dr){
sol[st]=0;
sol[st+1]=v[st]+v[st+1];
for(int i=st+2;i<dr;i++){
sol[i]=max(sol[i-1],sol[i-3]+v[i]+v[i-1]);
}
suma=max(suma,sol[dr]);
}
int main () {
ifstream fin ("oo.in");
ofstream fout("oo.out");
fin>>n;
for (i=1;i<=n;i++) {
fin>>v[i];
}
v[n+1]=v[1];
greedy(2, n);
greedy(1, n-1);
greedy(3, n+1);
fout<<suma;
return 0;
}