Pagini recente » Cod sursa (job #515800) | Cod sursa (job #1392194) | Cod sursa (job #581908) | Cod sursa (job #2725649) | Cod sursa (job #3164929)
#include <fstream>
using namespace std;
ifstream fin ("buline.in");
ofstream fout ("buline.out");
int n,ok,i,stt1,stt2,lg1,lg2,dr2,st1,st2,maxx,poz;
long long x,sum,smin,smax,s1,s2;
int main ()
{
fin>>n>>x>>ok;
if (ok==0)
x=-x;
sum+=x;
s1=s2=x;
smin=smax=x;
poz=1;
stt1=stt2=dr2=1;
st1=st2=lg1=lg2=1;
maxx=x;
for (i=2; i<=n; i++)
{
fin>>x>>ok;
if (ok==0)
x=-x;
sum+=x;
if (x>maxx)
{
maxx=x;
poz=i;
}
if (s1+x<x)
{
s1=x;
stt1=i;
}
else
s1+=x;
if (s2+x>x)
{
s2=x;
stt2=i;
}
else
s2+=x;
if (s1>smax)
{
smax=s1;
st1=stt1;
lg1=i-st1+1;
}
if (s2<smin)
{
smin=s2;
st2=stt2;
dr2=i;
lg2=i-st2+1;
}
}
if (sum==smin)
{
fout<<maxx<<" "<<poz<<" "<<1;
return 0;
}
dr2++;
if (dr2>n)
dr2=1;
if (smax>sum-smin||(smax==sum-smin&&st1<dr2))
fout<<smax<<" "<<st1<<" "<<n-lg1;
else
fout<<sum-smin<<" "<<dr2<<" "<<n-lg2;
return 0;
}