Cod sursa(job #1344240)

Utilizator ovidiuz98Zamfir Ovidiu ovidiuz98 Data 16 februarie 2015 15:45:33
Problema Oo Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.58 kb
#include <fstream>
#include <cstring>
#define DIM 100002

using namespace std;

ifstream fin("oo.in");
ofstream fout("oo.out");
int N,ou[DIM],best[DIM],sol;
void solve(int p,int u){
    memset(best,0,sizeof(best));
    best[p+1]=ou[p]+ou[p+1];
    for(int i=p+2;i<=u;i++)
        best[i]=max(best[i-1],best[i-3]+ou[i-1]+ou[i]);
    sol=max(sol,best[u]);
}
int main(){
    fin>>N;
    for(int i=1;i<=N;i++)
        fin>>ou[i];
    ou[N+1]=ou[1];
    solve(1,N-1);
    solve(2,N);
    solve(3,N+1);
    fout<<sol<<"\n";
    fin.close();fout.close();
    return 0;
}