Pagini recente » Cod sursa (job #2156429) | Cod sursa (job #1708818) | Cod sursa (job #2253798) | Cod sursa (job #2562042) | Cod sursa (job #1053263)
#include<iostream>
#include<fstream>
using namespace std;
ifstream read("buline.in");
ofstream write("buline.out");
#define MAXN 400005
int N,sum=0,bestsum=-10001;
int bilete[MAXN],buline,culoare,i,index=0,b=0,e=0;
int main()
{
read>>N;
for(i=1;i<2*N;i++)
if(i<=N)
{
read>>buline>>culoare; if(culoare==0) bilete[i]=-buline; else bilete[i]=buline;
}
else
bilete[i]=bilete[i-N];
for(i=1;i<2*N-1;i++)
{
if(sum<0)
{
sum=bilete[i]; index=i;
}
else
sum=sum+bilete[i];
if(bestsum<sum)
{
bestsum=sum; b=index; e=i;
}
}
write<<bestsum<<" "<<b<<" "<<e-b+1;
read.close();
write.close();
return 0;
}