Cod sursa(job #286479)

Utilizator ssergiussSergiu-Ioan Ungur ssergiuss Data 23 martie 2009 20:46:14
Problema Buline Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.77 kb
#include<algorithm>
using namespace std;

#define DIM 200001
#define INF 1000001

int n,a[DIM];

void solve(){
    int i,c,st,dr,smin,max0,pozmax;

    scanf("%d",&n);
    for(i=1; i<=n; ++i){
        scanf("%d%d",&a[i],&c);
        if(!c)
            a[i]*=-1;
        a[i]+=a[i-1];}
    for(i=1,smin=INF,max0=-INF,pozmax=0; i<=n; ++i){
        if(a[i]-max0<smin){
            smin=a[i]-max0;
            st=pozmax;
            dr=i;}
        if(a[i]>max0){
            max0=a[i];
            pozmax=i+1;}}
    printf("%d ",a[n]-smin);
    if(dr==n)
        printf("1 ");
    else
        printf("%d ",dr+1);
    printf("%d",n-dr+st-1);}

int main(){
    freopen("buline.in","r",stdin);
    freopen("buline.out","w",stdout);
    solve();
    return 0;}