Cod sursa(job #1038783)

Utilizator tatianazTatiana Zapirtan tatianaz Data 21 noiembrie 2013 22:51:45
Problema Oo Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.84 kb
#include<fstream>
#include<algorithm>
#include<cstring>
using namespace std;

ifstream is("oo.in");
ofstream os("oo.out");

int n, a[100001];
int s[100001];
int sol;

int main()
{
    is >> n;
    for ( int i = 0; i < n; ++i )
        is >> a[i];

    s[0] = a[0];
    s[1] = a[0] + a[1];
    for ( int i = 4; i <= n - 2; ++i )
        s[i] = max(s[i-1], a[i] + a[i-1] + s[i-3]);
    sol = max(sol, s[n-2]);

    memset(s, 0, sizeof(s));
    s[0] = a[0];
    for ( int i = 3; i <= n - 3; ++i )
        s[i] = max(s[i-1], a[i] + a[i-1] + s[i-3]);
    sol = max(sol, s[n-3] + a[n-1]);

    memset(s, 0, sizeof(s));
    for ( int i = 2; i <= n - 4; ++i )
        s[i] = max(s[i-1], a[i] + a[i-1] + s[i-3]);
    sol = max(sol, s[n-4] + a[n-1] + a[n-2]);

    os << sol;

    is.close();
    os.close();
    return 0;
}