Pagini recente » Cod sursa (job #636360) | Cod sursa (job #1780092) | Cod sursa (job #25064) | Cod sursa (job #2642287) | Cod sursa (job #2733234)
#include <fstream>
using namespace std;
ifstream fin("buline.in");
ofstream fout("buline.out");
const int NMAX=400005;
int v[NMAX];
int main()
{
int n,st,drmax,stmax,semn,i;
long long maxim,sum;
fin>>n;
fin>>v[1]>>semn;
if(semn==0)
v[1]*=-1;
v[n+1]=v[1];
maxim=sum=v[1];
stmax=drmax=1;
st=1;
for(i=2;i<=n;i++)
{
fin>>v[i]>>semn;
if(semn==0)
v[i]*=-1;
v[i+n]=v[i];
}
for(i=2;i<=2*n;i++)
{
if(i-st+1>n)
{
sum-=v[st];
st++;
}
sum+=v[i];
if(sum<v[i])
{
sum=v[i];
st=i;
}
if(maxim<sum && i-st+1<=n)
{
maxim=sum;
drmax=i;
stmax=st;
}
}
fout<<maxim<<' '<<stmax<<' '<<drmax-stmax+1;
return 0;
}