Pagini recente » Rating Alin Valorosu (sigurnuelfu) | tabletennis | Cod sursa (job #2254296) | Salut cf | Cod sursa (job #3275864)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("buline.in");
ofstream fout("buline.out");
int t[6000005];
int main()
{
long long int n,S=-2e9,i,j=1,contor=0,Smax=-2e9,Smin=2e9,finish,start,finish1,start1,val,semn;
fin>>n;
for(i=1;i<=n;++i)
{
fin>>val>>semn;
if(semn==0)
val*=-1;
t[i]=t[i+n+1]=val;
}
S=-2e14;
for(i=1;i<=n;i++)
{
if(S<0)
{
S=t[i];
j=i;
}
else
{
S=S+t[i];
}
if(S>Smax)
{
Smax=S;
finish=i;
start=j;
}
}
S=2e14;
for(i=1;i<=n;i++)
{
if(S>0)
{
S=t[i];
j=i;
}
else
{
S=S+t[i];
}
if(S<Smin)
{
Smin=S;
finish1=i;
start1=j;
}
//cout<<S;
}
S=0;
for(i=1;i<=n;++i)
S+=t[i];
if(Smax>=S-Smin)
{
fout<<Smax<<' '<<start<<' '<<finish;
}
else
fout<<S-Smin<<' '<<finish1+1<<' '<<n-(finish1-start1+1);
}