Cod sursa(job #672431)

Utilizator ion824Ion Ureche ion824 Data 2 februarie 2012 10:06:15
Problema Oo Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
#include<fstream>
#define nmax 100005
using namespace std;
int d[nmax],a[nmax],m;

inline int max(int a,int b){ if(a>b)return a; else return b; }
 
void calc(int p,int u){
     d[p-2]=0;
     d[p-1]=a[p-1]+a[p-2];
     for(int i=p;i<=u;++i){
        d[i]=max(d[i-1],d[i-3]+a[i-1]+a[i]);
        m=max(d[i],m);     
     }
}

int main(void){
    ifstream fin("oo.in");
    ofstream fout("oo.out");
    int n,i,j;
    fin>>n;
    for(i=1;i<=n;++i)fin>>a[i];fin.close();
    a[n+1]=a[1];
    
    calc(3,n-1);
    calc(4,n);
    calc(5,n+1);
    
    fout<<m; fout.close(); 
 return 0;   
}