Pagini recente » Cod sursa (job #402676) | Cod sursa (job #1428852) | Cod sursa (job #1220856) | Cod sursa (job #3149979) | Cod sursa (job #1409196)
#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=v[1];
for(int i=2;i<=2*n;i++){
if(sum+v[i]>v[i]&&i-st+1<=n)
sum+=v[i];
else{
sum=v[i];
st=i;
}
if(sum>maxim) {
maxim=sum;
if(st%n==0)
start=n;
else start=st;
len=i-st+1;
}
}
printf("%d %d %d\n",maxim,start,len);
return 0;
}