Cod sursa(job #381981)

Utilizator freak93Adrian Budau freak93 Data 12 ianuarie 2010 12:54:44
Problema Oo Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include<fstream>

using namespace std;

const char iname[]="oo.in";
const char oname[]="oo.out";
const int maxn=100005;

ifstream f(iname);
ofstream g(oname);

int dp[maxn],i,n,a[maxn],maxt;

int main()
{
    f>>n;
    for(i=1;i<=n;++i)
        f>>a[i];
    a[0]=a[n];
    for(i=3;i<=n;++i)
        dp[i]=max(dp[i-3]+a[i]+a[i-1],dp[i-1]),maxt=max(maxt,dp[i]);
    for(i=2;i<n;++i)
        dp[i]=max((i>2?dp[i-3]:0)+a[i]+a[i-1],dp[i-1]),maxt=max(maxt,dp[i]);

    --n;
    for(i=1;i<n;++i)
        dp[i]=max((i>2?dp[i-3]:0)+a[i]+a[i-1],dp[i-1]),maxt=max(maxt,dp[i]);

    g<<maxt<<"\n";

    f.close();
    g.close();

    return 0;
}