Cod sursa(job #2297938)

Utilizator MihneaGhiraMihnea MihneaGhira Data 6 decembrie 2018 20:22:55
Problema Oo Scor 70
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.82 kb
#include<fstream>
using namespace std;
ifstream fin("oo.in");
ofstream fout("oo.out");
int n,x1,x2,x3,x4;
int a[100010],v[100010];
int main(){
    fin>>n;
    if(n==2){
        fin>>x1>>x2;
        fout<<x1+x2;
        return 0;
    }
    if(n==3){
        fin>>x1>>x2>>x3;
        fout<<max(max(x1+x2,x2+x3),x3+x1);
        return 0;
    }
    if(n==4){
        fin>>x1>>x2>>x3>>x4;
        fout<<max(max(max(x1+x2,x2+x3),x3+x4),x4+x1);
        return 0;
    }
    for(int i=1;i<=n;i++)
        fin>>v[i];
    a[1]=a[2]=a[3]=v[1]+v[n];
    for(int i=4;i<n-1;i++)
        a[i]=max(a[i-1],v[i-1]+v[i]+a[i-3]);
    int maxim=a[n-2];
    a[2]=a[3]=a[4]=v[1]+v[2];
    for(int i=5;i<n;i++)
        a[i]=max(a[i-1],v[i-1]+v[i]+a[i-3]);
    if(maxim<a[n-1])
        maxim=a[n-1];
    fout<<maxim;
    return 0;
}