Cod sursa(job #1768725)

Utilizator GoogalAbabei Daniel Googal Data 1 octombrie 2016 13:13:32
Problema Secventa 2 Scor 100
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=a[k];
    sc=a[k];
    pmax=1;
    umax=k;
    for(i=k+1; 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;
}