Cod sursa(job #286440)

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

#define DIM 200001
#define INF -10000

int n,s[DIM],t[DIM];

void solve(){
    int i,j,st,lg,cul,smax;

    scanf("%d",&n);
    for(i=1; i<=n; ++i){
        scanf("%d%d",&s[i],&cul);
        if(!cul)
            s[i]*=-1;
        s[i]+=s[i-1];
        t[i]=max(t[i-1],s[i]);}
    /*for(i=1; i<=n; ++i)
        printf("%d ",s[i]);
    for(i=1,printf("\n"); i<=n; ++i)
        printf("%d ",t[i]);*/
    for(i=1,smax=INF; i<=n; ++i)
        if(t[i-1]+s[n]-s[i-1]>smax){
            smax=t[i-1]+s[n]-s[i-1];
            st=lg=i;}
    printf("%d %d %d",smax,st,lg);}

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