Cod sursa(job #488864)

Utilizator beni2Oncea Beniamin beni2 Data 30 septembrie 2010 10:47:05
Problema Oo Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include<fstream>
#include<algorithm>
using namespace std;
 
int n, a[100016], mn[3][3][100016], mx;
int main()
{
    ifstream fin("oo.in");
    ofstream fout("oo.out");
    fin >> n;
    for (int i = 1; i <= n; ++i)
        fin >> a[i];
    a[0] = a[n];
     
    for (int k = 0; k < 3; ++k)
        for (int i = k; i <= n - (3 - k); ++i)
        {
            mn[k][0][i] = max(mn[k][0][i - 1], mn[k][2][i - 1]);
            mn[k][1][i] = mn[k][0][i - 1] + a[i] + a[i + 1];
            mn[k][2][i] = mn[k][1][i - 1];
             
            mx = max(mx, mn[k][0][i]);
            mx = max(mx, mn[k][1][i]);
            mx = max(mx, mn[k][2][i]);
        }
     
    fout << mx;
}