Cod sursa(job #1124877)

Utilizator depevladVlad Dumitru-Popescu depevlad Data 26 februarie 2014 14:12:11
Problema Secventa 2 Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.95 kb
#include <cstdio>

using namespace std;

int a[50000], s[50000];
int n, k, i, j, ind_min, ind_max, suma, sum_max, lg;

void citire();
void determinare();
void afisare();

int main()
{
    citire();
    determinare();
    afisare();

    return 0;
}

void citire()
{
    FILE *in;
    in=fopen("secv2.in", "r");

    fscanf(in, "%d %d", &n, &k);

    for(i=1; i<=n; i++)
    {
         fscanf(in, "%d", &a[i]);
         s[i]=s[i-1]+a[i];
    }
}

void afisare()
{
    FILE *out;
    out=fopen("secv2.out", "w");

    //for(i=1; i<=n; i++) fprintf(out, "%d ", s[i

    fprintf(out, "%d %d %d", ind_min, ind_max, sum_max);

}

void determinare()
{
    for(lg=n; lg>=k; lg--)
    {
        for(i=n; i>=lg; i--)
        {
            suma=s[i]-s[i-lg];
            if(suma>sum_max)
            {
                sum_max=suma;
                ind_min=i-lg+1;
                ind_max=i;
            }
        }
    }
}