Pagini recente » Cod sursa (job #3251276) | Cod sursa (job #210376) | Cod sursa (job #2827544) | Cod sursa (job #602570) | Cod sursa (job #1154019)
#include <fstream>
using namespace std;
int n,i,a[400002],tip,sum[400002],mx,p,pr,ul,nr;
int main()
{
ifstream f("buline.in");
ofstream g("buline.out");
f>>n;
for (i=1;i<=n;i++)
{
f>>a[i]>>tip;
if (tip==0) a[i]=0-a[i];
}
nr=0;
for (i=n+1;i<=n*2-1;i++)
{
nr++;
a[i]=a[nr];
}
p=1;mx=a[1];
for (i=1;i<=n+n-1;i++)
{
sum[i]=sum[i-1]+a[i];
if (sum[i]<=0)
{
sum[i]=0;
p=i+1;
}
else
{
if (sum[i]>mx && i-p+1<=n)
{
mx=sum[i];
pr=p;
ul=i;
}
}
}
g<<mx<<" "<<pr<<" "<<ul-pr+1;
return 0;
}