Cod sursa(job #24529)

Utilizator dominoMircea Pasoi domino Data 2 martie 2007 19:49:33
Problema Buline Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include <stdio.h>

#define MAX_N 200005
#define FIN "buline.in"
#define FOUT "buline.out"

int N, A[MAX_N<<1], S, P, L;

int main(void)
{
    int i, j, a, b, s;

    freopen(FIN, "r", stdin);
    freopen(FOUT, "w", stdout);

    scanf("%d", &N);
    for (i = 0; i < N; i++)
    {
        scanf("%d %d", &a, &b);
        A[i] = A[N+i] = a*(b ? +1 : -1);
    }

    for (i = 0; i < N; i++)
        for (s = 0, j = i; j < i+N; j++)
        {
            s += A[j];
            if (S < s) S = s, P = i, L = j-i+1;
        }

    printf("%d %d %d\n", S, P+1, L);

    return 0;
}