Pagini recente » Cod sursa (job #2834059) | Cod sursa (job #3280404) | Cod sursa (job #3288661) | Cod sursa (job #1991761) | Cod sursa (job #1496441)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
int n;
int main ()
{
ifstream fin("buline.in");
ofstream fout("buline.out");
int x, y;
fin>>n;
vector<int> v(n);
for(int i=0;i<n;i++)
{
fin>>x>>y;
v[i] = y?x:-x;
}
int start = 0;
int length = 0;
int sum = 0;
int max = 0;
int max_start = 0;
int max_length = 0;
for(int i=0;i<n;i++)
{
if(sum>=0)
{
sum+=v[i];
length+=1;
}
else
{
sum = v[i];
length = 1;
start = i;
}
if(max<sum)
{
max = sum;
max_start = start;
max_length = length;
//cout<<max_start<<" "<<max_length<<" "<<sum<<endl;
}
}
for(int i=0;i<start;i++)
{
if(sum>=0)
{
sum+=v[i];
length+=1;
}
else
break;
if(max<sum)
{
max=sum;
max_start = start;
max_length = length;
//cout<<max_start<<" "<<max_length<<" "<<sum<<endl;
}
}
fout<<max<<" "<<max_start+1<<" "<<max_length;
return 0;
}