Pagini recente » Cod sursa (job #619271) | Cod sursa (job #709933) | Cod sursa (job #325788) | Cod sursa (job #1119251) | Cod sursa (job #393307)
Cod sursa(job #393307)
#include<fstream>
using namespace std;
int v[400005];
int n,nr;
int main()
{
ifstream fin("buline.in");
fin>>n;
int i;
for(i=1;i<=n;i++)
{
int a,b;
fin>>a>>b;
if(b==0)
v[++nr]=-a;
else
v[++nr]=a;
}
for(i=1;i<n;i++)
v[++nr]=v[i];
int sum,summax=-1000000,index,istart,istop;
sum=v[1];
istart=1;
istop=1;
index=1;
for(i=2;i<=nr;i++)
{
if(sum<0)
sum=v[i],index=i;
else
sum+=v[i];
if(sum>summax)
summax=sum,istart=index,istop=i;
}
ofstream fout("buline.out");
fout<<summax<<" "<<istart<<" "<<istop-istart+1;
return 0;
}