Cod sursa(job #1834002)

Utilizator Coroian_DavidCoroian David Coroian_David Data 23 decembrie 2016 17:28:13
Problema Secventa 2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.93 kb
#include <cstdio>

#include <climits>

using namespace std;

FILE *f, *g;

int mn, px;

int s[50001];

int n, k;

void readFile()
{
    f = fopen("secv2.in", "r");

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

    int i, nr;

    for(i = 1; i <= n; i ++)
    {
        fscanf(f, "%d", &nr);

        s[i] = s[i - 1] + nr;

        //printf("%d %d\n", s[i], mn[i].nr);
    }

    fclose(f);
}

int mx = INT_MIN, dr, st;

void solve()
{
    int i;

    mn = INT_MAX;

    for(i = k; i <= n; i ++)
    {
        if(s[i - k] < mn)
            mn = s[i - k], px = i - k + 1;

        if(s[i] - mn > mx)
        {
            mx = s[i] - mn;

            dr = i;

            st = px;
        }
    }
}

void printFile()
{
    g = fopen("secv2.out", "w");

    fprintf(g, "%d %d %d\n", st, dr, mx);

    fclose(g);
}

int main()
{
    readFile();

    solve();

    printFile();

    return 0;
}