Cod sursa(job #811304)

Utilizator romircea2010FMI Trifan Mircea Mihai romircea2010 Data 11 noiembrie 2012 21:21:58
Problema Oo Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.84 kb
#include <fstream>
#include <algorithm>

using namespace std;

int n, v[100005], a[100005], b[100005], c[100005], sol;

inline void Read()
{
    ifstream f("oo.in");
    f>>n;
    int i;
    for(i=1; i<=n; i++)
        f>>v[i];
    f.close();
}

inline void Solve()
{
    int i;
    v[n+1] = v[1];
    a[2] = v[1]+v[2];
    b[3] = v[2]+v[3];
    c[4] = v[3]+v[4];
    //caz 1
    for(i=3; i<n; i++)
        a[i] = max(a[i-1], a[i-3]+v[i-1]+v[i]);
    //caz 2
    for(i=4; i<=n; i++)
        b[i] = max(b[i-1], b[i-3]+v[i-1]+v[i]);
    //caz 3
    for(i=5; i<=n+1; i++)
        c[i] = max(c[i-1], c[i-3]+v[i-1]+v[i]);
    sol = max(a[n-1], max(b[n], c[n+1]));
}

inline void Write()
{
    ofstream g("oo.out");
    g<<sol<<"\n";
    g.close();
}

int main()
{
    Read();
    Solve();
    Write();
    return 0;
}