Pagini recente » Cod sursa (job #746588) | Cod sursa (job #508372) | Cod sursa (job #445617) | Cod sursa (job #2313196) | Cod sursa (job #1409166)
#include <cstdio>
#include <algorithm>
using namespace std;
int v[400010];
int main() {
int n,x,y;
freopen("buline.in","r",stdin);
freopen("buline.out","w",stdout);
scanf("%d",&n);
for(int i=1; i<=n; i++) {
scanf("%d%d",&x,&y);
v[i]=x;
if(!y)
v[i]*=-1;
v[n+i]=v[i];
}
///v[n+1]=-10010;
int sum=0,st,dr,maxim=v[1],len=1,start=1;
st=1;
sum=0;
for(dr=1; dr<=2*n&&st<=n; dr++) {
sum += v[dr];
if(sum<v[dr]) {
st=dr;
sum=v[dr];
}
if(sum>maxim) {
maxim=sum;
if(st%n==0)
start=n;
else start=st;
len=dr-st+1;
}
}
printf("%d %d %d\n",maxim,start,len);
return 0;
}