Cod sursa(job #2392286)

Utilizator Vaida_Radu_AndreiVaida Radu Andrei Vaida_Radu_Andrei Data 29 martie 2019 21:02:28
Problema Oo Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.97 kb
#include <cstdio>
#include <deque>
FILE* FIN=freopen("oo.in","r",stdin);
FILE* FOUT=freopen("oo.out","w",stdout);
using namespace std;

int n,v[101024];
deque <int> q;

void cit()
{
    int i,f,x,ex;
    scanf("%d",&n);
    scanf("%d",&f);
    x=f;
    for(i=0;i<n-1;i++)
    {
        ex=x;
        scanf("%d",&x);
        v[i]=x+ex;
    }
    v[n-1]=f+x;
}
int din(int st,int sp)
{
    int i,x[2];
    for(i=0;i<3;i++)
        q.push_back(0);
    for(i=st;i<sp;i++)
    {
        x[0]=q.front();
        q.pop_front();
        x[0]+=v[i];
        x[1]=q.back();
        x[0]=(x[0]>x[1])*(x[0]-x[1])+x[1];
        q.push_back(x[0]);
    }
    x[0]=q.back();
    for(i=0;i<3;i++)
        q.pop_front();
    return x[0];
}
int main()
{
    int x[2];
    cit();
    x[0]=din(0,n-2);
    x[1]=din(1,n-1);
    x[0]=(x[0]>x[1])*(x[0]-x[1])+x[1];
    x[1]=din(2,n);
    x[0]=(x[0]>x[1])*(x[0]-x[1])+x[1];
    printf("%d",x[0]);
    return 0;
}