Pagini recente » Cod sursa (job #2459275) | Cod sursa (job #3287803) | Cod sursa (job #2459160) | Cod sursa (job #2556922) | Cod sursa (job #3284605)
#include <bits/stdc++.h>
using namespace std;
ifstream in("buline.in");
ofstream out("buline.out");
int mini=100001, maxi=-100001;
int n,i,nr,culoare,smin,lmin,lmax,poz1f,poz2f, poz1,poz2;
int total, smax;
int main()
{
in>>n;
for(i=1;i<=n;++i)
{
in>>nr>>culoare;
if(culoare==0)
nr=nr*(-1);
total+=nr;
if(smax<0)
{
smax=nr;
poz1=i;
}
else
smax+=nr;
if(smax>maxi)
{
maxi=smax;
poz1f=poz1;
lmax=i-poz1+1;
}
if(smin>0)
{
smin=nr;
poz2=i;
}
else
smin+=nr;
if(smin<mini)
{
mini=smin;
poz2f=i+1;
lmin=n-i+poz2-1;
}
}
if(maxi+mini>total)
out<<maxi<<" "<<poz1f<<" "<<lmax;
else
out<<total-mini<<" "<<poz2f<<" "<<lmin;
return 0;
}