Cod sursa(job #2013223)

Utilizator stefdascalescuStefan Dascalescu stefdascalescu Data 20 august 2017 20:05:19
Problema Buline Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.82 kb
#include<fstream>
using namespace std;
ifstream f("buline.in");
ofstream g("buline.out");
long long sum, n,rez,a, poz1, poz2, pozz=1;
long long v[400002],b,q[400002];
long long max1,pz;
int main()
{
    f>>n;
    rez=-n*10001;
    for(long long i=1;i<=n;++i)
    {
        f>>a>>b;
        if(b==0)
            a*=-1;
        q[i]=a,q[n+i]=a;
        if(a>max1)
            max1=a,pz=i;
    }
    for(long long i=1;i<=2*n;++i)
        v[i]=v[i-1]+q[i];
    long long st=1;
    for (long long i = 1; i <=2* n; i++)
    {
        if(i-st==n)
            ++st;
        if (v[i-1]-v[st-1] < 0)
            st = i;
        if (v[i]-v[st-1]>rez)
        {
            rez = v[i]-v[st-1];
            poz1 = st;
            poz2=i-st+1;
        }
    }
    g<<rez<<" "<<poz1<<" "<<poz2;
    return 0;
}