Cod sursa(job #1533785)

Utilizator robertdragomirescuRobert Dragomirescu robertdragomirescu Data 22 noiembrie 2015 22:33:24
Problema Buline Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.92 kb
#include <fstream>
const int INFINIT=2147483648;
const int NMAX=400000;
using namespace std;
long long sp[NMAX+1];
long long b[NMAX+1];
int p[NMAX+1];
int nr[NMAX+1];
ifstream cin("buline.in");
ofstream cout("buline.out");
int main()
{

    int a,nrv,n,max2=0,i,pmin=0,maxx=-INFINIT ,minn;
    cin>>n;
    b[0]=0;
    minn=0;
    for(i=1;i<=n;i++)
    {
        cin>>a>>nrv;
        if(nrv==0)
            nrv=a*-1;
        else
            nrv=a;

        nr[i]=nrv;
        sp[i]=sp[i-1]+nrv;
    }
    for(i=n+1;i<2*n;i++)
    {
        sp[i]=sp[i-1]+nr[i-n];
    }
    for(i=1;i<2*n;i++)
    {
        b[i]=sp[i]-minn;
        p[i]=pmin+1;
        if(sp[i]<minn)
        {
            minn=sp[i];
            pmin=i;
        }
        if(b[i]>maxx)
        {
            max2=i;
            maxx=b[i];
        }
    }
    cout<<b[max2]<<" "<<p[max2]<<" "<<max2-p[max2]+1;
    return 0;
}