Cod sursa(job #1446311)

Utilizator TimoteiCopaciu Timotei Timotei Data 1 iunie 2015 14:11:51
Problema Secventa 2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include<fstream>
#define nmax 50005
using namespace std;
int  n,k,limD,limS,s[nmax];
int main()
{
    ifstream f("secv2.in");
    ofstream g("secv2.out");
    f>>n>>k;
    for(int i=1;i<=n;i++)
    {
        f>>s[i];
        s[i]+=s[i-1];
    }
    int kMin=0;
    int sMom=-int(2e9);
    int sMin=0;
    int lMin=0;
    int limD=k;
    int limS=1;
    for(int i=k;i<=n;i++)
    {  lMin=limD-limS+1;
        if(s[i]-sMin>sMom&&lMin>=k)
        {
            sMom=s[i]-sMin;
            limS=kMin+1;
            limD=i;
        }
        if(s[i-k+1]<sMin)
        {
            sMin=s[i-k+1];
            kMin=i-k+1;
        }
    }
    g<<limS<<" "<<limD<<" "<<sMom;
    return 0;
}