Cod sursa(job #52927)

Utilizator Omega91Nicodei Eduard Omega91 Data 20 aprilie 2007 12:55:29
Problema Secventa 2 Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.83 kb
#include <stdio.h>
using namespace std;
int main()
{
    FILE *f1, *f2;
    int n, k, aux, suma=0, max=0, maxi, min, mini=1, i;
    long a[50001];
    f1 = fopen("secv2.in", "r");
    f2 = fopen("secv2.out", "w");
    fscanf(f1, "%d %d", &n, &k);
    for (i = 1; i <= n; i++) {
        fscanf(f1, "%d", &aux);
        suma += aux;
        a[i] = suma;
        if (suma > max) {
            max = suma;
            maxi = i;
        }
    }
    min = a[1];
    if (k == n) {
        mini = 0;
        maxi = n;
        goto fin;
    }
    if (maxi >= k) {
        for (i = 1; i <= k; i++)
            if (min > a[i]) {
                min = a[i];
                mini = i;
            }
        goto fin;
    }
              
    fin:
    fprintf(f2, "%d %d %d\n", mini + 1, maxi, max - min);
    return 0;
}