Pagini recente » Cod sursa (job #2439274) | Cod sursa (job #1792112) | Cod sursa (job #1307575) | Cod sursa (job #2798041) | Cod sursa (job #3165250)
#include <iostream>
#include <fstream>
#include <deque>
#include <algorithm>
#include <cmath>
#include <vector>
#include <climits>
#define DIM 200000
#define INF DIM * 10000 + 5
using namespace std;
//ifstream f("in.in");
//ofstream g("out.out");
ifstream f("buline.in");
ofstream g("buline.out");
int n,sum = -INF,x,y,sol=-INF,st=1,v[DIM+5],solst,soldr;
signed main()
{
f>>n;
for(int i=1;i<=n;i++){
f>>x>>y;
if(y == 0){
x = -x;
}
v[i] = v[n+i] = x;
}
for(int i=1;i<=2*n;i++){
x = v[i];
if(sum+x >= x){
sum+=x;
}else{
sum = x;
st = i;
}
if(sol<sum){
if(i-st+1 <= n){
sol = sum;
solst = st;
soldr = i;
}
}
}
g<<sol<<" "<<solst<<" "<<soldr-solst+1;
//cout<<solst<<" "<<soldr;
return 0;
}