Cod sursa(job #1768700)

Utilizator GoogalAbabei Daniel Googal Data 1 octombrie 2016 12:49:30
Problema Secventa 2 Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <fstream>
#define int_min 214783600

using namespace std;

ifstream fin("secv2.in");
ofstream fout("secv2.out");

int n,k,x,i,pc=1,sc,umax,pmax,smax=-int_min,sn,a[50001];

int main()
{
    fin>>n>>k;
    for(i=1; i<=n; i++)
    {
        fin>>x;
        a[i]=a[i-1]+x;
    }
    smax=sc=a[k];
    pmax=1;umax=k;
    for(i=k;i<=n;i++)
    {
        if(sc+a[i]-a[i-1]>a[i]-a[i-k])
            sc+=a[i]-a[i-1];
        else
        {
            sc=a[i]-a[i-k];
            pc=i-k+1;
        }
         if(sc>smax)
            {
                smax=sc;
                pmax=pc;
                umax=i;
            }
    }
    fout<<pmax<<' '<<umax<<' '<<smax;
    return 0;
}