Cod sursa(job #1984877)

Utilizator dragos231456Neghina Dragos dragos231456 Data 26 mai 2017 13:51:04
Problema Buline Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.8 kb
#include <iostream>
#include <fstream>
#include <deque>
using namespace std;
ifstream f("buline.in");
ofstream g("buline.out");
int n,v[200005],bestlen,bestpos,bestsum,semn,nr,i,a,i1,s;
bool ok=true;
int main()
{
    f>>n;
    for(i=1;i<=n;++i)
    {
        f>>nr>>semn;
        if(semn==0) nr=-nr;
        v[i]=nr;
    }
    i=1;
    while(true)
    {
        if(i>n) i%=n, ok=false;
        if(i==i1) break;
        a=v[i];
        if(s<=0)
        {
            s=a;
            i1=i;
            if(!ok) break;
        }
        else s+=a;
        if(s>bestsum)
        {
            bestsum=s;
            bestpos=i1;
            bestlen=i-i1+1;
            if(bestlen<0) bestlen+=n;
        }
        ++i;
    }
    g<<bestsum<<' '<<bestpos<<' '<<bestlen;
    return 0;
}