Pagini recente » Cod sursa (job #1635856) | Cod sursa (job #2099178) | Cod sursa (job #3137019) | Cod sursa (job #2159719) | Cod sursa (job #1052643)
#include<iostream>
#include<fstream>
using namespace std;
ifstream read("buline.in");
ofstream write("buline.out");
signed int N;
long int sum=0,bestsum=-2147483648;
int main()
{
long int bilete[200005],buline,culoare,i,index=0,begin=0,end=0;
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; begin=index; end=i;
}
}
write<<bestsum<<" "<<begin<<" "<<end-begin+1;
read.close();
write.close();
return 1;
}