Cod sursa(job #2058651)

Utilizator dianamariaDiana Cataros dianamaria Data 5 noiembrie 2017 23:12:34
Problema Oo Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.89 kb
#include <fstream>
#define dim 1000002

using namespace std;
ifstream in ("oo.in");
ofstream out ("oo.out");

int v[dim],s[dim];

int main()
{
    int n,i,maxi=0;
    in>>n;
    for (i=1;i<=n;i++)
        in>>v[i];

    v[0]=v[n];
    s[0]=v[0]+v[1];
    s[1]=max(s[1],v[1]+v[2]);
    s[2]=max(s[2],v[2]+v[3]);
    for (i=3;i<n;i++)
        s[i]=max(s[i-1],s[i-3]+v[i]+v[i+1]);
    maxi=s[n-3];
    out<<"grupam ultimul cu primul si obtinem "<<maxi<<"\n";

    s[0]=0;
    s[1]=v[1]+v[2];
    s[2]=max(s[1],v[3]+v[2]);
    for (i=3;i<n;i++)
        s[i]=max(s[i-1],s[i-3]+v[i]+v[i+1]);
    maxi=max(maxi,s[n-2]);
    out<<"grupam primul cu al doilea si obt "<<maxi<<"\n";

    s[2]=v[2]+v[3];
    for (i=3;i<n;i++)
        s[i]=max(s[i-1],s[i-3]+v[i]+v[i+1]);
    maxi=max(maxi,s[n-1]);
    out<<"grupam al doilea cu al treilea si obtinem "<<maxi<<"\n";

    return 0;
}