Cod sursa(job #1971313)

Utilizator sichetpaulSichet Paul sichetpaul Data 20 aprilie 2017 11:02:43
Problema Buline Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.9 kb
#include <fstream>

using namespace std;
int v[200001];
int main()
{ int i,n,x,y,last;
int sum=0,poz=0,l=0,smax=0;
    ifstream f("buline.in");
    ofstream g("buline.out");
    f>>n;
    for (i=1;i<=n;++i) {
        f>>x>>y;
        if (y==0) v[i]=-x;
        else v[i]=x;
    }
    smax=-10001;
    sum=0;
    last=poz=l=1;
     for (i=1;i<=n;++i)
     if (sum+v[i]<v[i]) {
            if (sum>smax) {
        l=i-last+1;
        poz=last;
        smax=sum;
            }
        sum=v[i];
        last=i;
    }
     else {
        sum+=v[i];
        if (sum>smax) {
            l=i-last+1;
            poz=last;
            smax=sum;
        }
     }
       for (i=1;i<last;++i) {
          sum+=v[i];
          if (sum>smax) {
            l=n-last+1+i;
            poz=last;
            smax=sum;
          }
       }
        g<<smax<<" "<<poz<<" "<<l;
    return 0;
}