Cod sursa(job #2862239)

Utilizator iuliacarpIulia Carp iuliacarp Data 5 martie 2022 09:09:09
Problema Secventa 2 Scor 40
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.86 kb
#include <fstream>
using namespace std;
ifstream fin("secv2.in");
ofstream fout("secv2.out");
const int DIM=50002;
int S[DIM];
int main ()
{
    int n,k,x;
    fin>>n>>k;
    for(int i=1;i<=n;i++)
    {
        fin>>x;
        S[i]=S[i-1]+x;
    }
    int poz1,poz2,pozmin,minn=1e9;
    for(int i=1;i<k;i++)
    {
        if(S[i]<minn)
        {
            minn=S[i];
            pozmin=i;
        }
    }
    int smax=0;
    for(int i=k;i<=n;i++)
    {
        if(i-pozmin>=k&&S[i]-minn>smax)
        {
            smax=S[i]-minn;
            poz1=pozmin+1;poz2=i;
        }
        if(S[i]-S[i-k]>smax)
        {
            smax=S[i]-S[i-k];
            poz1=i-k+1;poz2=i;
        }
        if(S[i]<minn)
        {
            minn=S[i];
            pozmin=i;
        }
    }
    fout<<poz1<<" "<<poz2<<" "<<smax;
    return 0;
}