Cod sursa(job #1255455)

Utilizator ovidiuz98Zamfir Ovidiu ovidiuz98 Data 4 noiembrie 2014 20:09:25
Problema Buline Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <fstream>

using namespace std;

ifstream fin("buline.in");
ofstream fout("buline.out");
long long x,n,i,summax,summin,smax=-2000000,smin=2000000,idmax=1,si,sf,idmin=1,st,dr,y,stot;
int main(){
    fin>>n;
    for(i=1;i<=n;i++){
        fin>>x>>y;
        if(!y) x*=-1;
        stot+=x;
        if(smax<0)
            smax=x,idmax=i;
        else smax+=x;
        if(smax>summax)
            summax=smax,sf=i,si=idmax;
        if(smin>0)
            smin=x,idmin=i;
        else
            smin+=x,idmin=i;
        if(smin<summin)
            summin=smin,dr=i,st=idmin;
    }
    if(stot-summin>summax) fout<<stot-summin<<" "<<st+1<<" "<<n-(st-dr+1);
    else
        fout<<summax<<" "<<si<<" "<<sf-si+1;
    fin.close();fout.close();
    return 0;
}