Cod sursa(job #2890753)

Utilizator Ilie_MityIlie Dumitru Ilie_Mity Data 16 aprilie 2022 14:53:19
Problema Secventa 2 Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.78 kb
//Ilie Dumitru
#include<cstdio>
#include<vector>
typedef long long int ll;
const int NMAX=50005, BITMAX=16;
const ll MOD=1000000007;

FILE* f=fopen("secv2.in", "r"), *g=fopen("secv2.out", "w");

int sP[NMAX], N, M, minS;

int main()
{
    int i, x, sumMax, startPos, endPos;
    fscanf(f, "%d%d", &N, &M);
    for(i=1;i<=N;++i)
        fscanf(f, "%d", &x), sP[i]=x+sP[i-1];
    minS=0;
    sumMax=sP[M];
    startPos=0;
    endPos=M;
    for(i=M;i<=N;++i)
    {
        if(sP[i-M]<sP[minS])
            minS=i-M;
        if(sP[i]-sP[minS]>sumMax)
        {
            sumMax=sP[i]-sP[minS];
            startPos=minS;
            endPos=i;
        }
    }
    fprintf(g, "%d %d %d", startPos+1, endPos, sumMax);
    fclose(f);
    fclose(g);
    return 0;
}