Pagini recente » Cod sursa (job #2147752) | Cod sursa (job #484877) | Cod sursa (job #2272098) | Cod sursa (job #408973) | Cod sursa (job #2390911)
#include <iostream>
#include <climits>
#include <fstream>
using namespace std;
ifstream fin("buline.in");
ofstream fout("buline.out");
short x[400010];
int z[400010];
int main()
{
int n,i,a,mx=INT_MIN,poz,pasi,mc;
fin>>n;
for(i=1;i<=n;i++)
{fin>>x[i]>>a;if(a==0)x[i]-=2*x[i];x[i+n]=x[i];}
for(i=1;i<=n*2;i++)
z[i]=x[i]+z[i-1];
for(i=1;i<=n;i++)
for(int j=i;j<=n*2 && j-i<n;j++)
{
mc=z[j]-z[i-1];
if(mc==mx&&pasi>i-j+1)poz=i,pasi=j-i+1;
if(mc>mx)mx=mc,poz=i,pasi=j-i+1;
}
fout<<mx<<' '<<poz<<' '<<pasi;
return 0;
}