Pagini recente » Cod sursa (job #811140) | Cod sursa (job #2637896) | Cod sursa (job #2669943) | Cod sursa (job #2731265) | Cod sursa (job #1657863)
#include <iostream>
#include<fstream>
using namespace std;
int v[400005],i,a,semn,j,start,length,sum,bestsum,n;
int main()
{
ifstream f("buline.in");
ofstream g("buline.out");
f>>n;
for(i=1;i<=n;i++)
{
f>>a>>semn;
if(semn==1)v[i]=a;
else v[i]=a*(-1);
v[n+i]=v[i];
}
for(i=1;i<=2*n;i++)
{
if(sum<0) {sum=v[i];j=i;}
else sum+=v[i];
if(i-j>=n) {sum-=v[j];j++;}
if(sum>bestsum)
{
bestsum=sum;
start=j;
length=i-j;
}
}
g<<bestsum<<' '<<start<<' '<<length+1;
return 0;
}