Pagini recente » Cod sursa (job #2629095) | Cod sursa (job #3227750) | Cod sursa (job #2782047) | Cod sursa (job #865706) | Cod sursa (job #290456)
Cod sursa(job #290456)
//#include<algorithm>
//using namespace std;
#include<stdio.h>
#define DIM 200001
#define INF -1000001
int n,a[DIM];
void solve(){
int i,ok,st,dr,cul,poz,smin,max0;
scanf("%d",&n);
for(i=1; i<=n; ++i){
scanf("%d%d",&a[i],&cul);
if(!cul)
a[i]*=-1;
if(a[i]<0)
++ok;}
for(i=1; i<=n; a[i]+=a[i-1],++i);
if(!ok)
printf("%d 1 %d",a[n],n);
else{
for(i=1,smin=poz=0,max0=INF; i<=n; ++i){
if(a[i]-max0<smin){
smin=a[i]-max0;
st=poz+1;
dr=i;}
if(a[i]>max0){
max0=a[i];
poz=i;}}
printf("%d ",a[n]-smin);
if(dr==n)
printf("1 %d",n-dr+st-1);
else
printf("%d %d",dr+1,n-dr+st-1);}}
int main(){
freopen("buline.in","r",stdin);
freopen("buline.out","w",stdout);
solve();
return 0;}