Cod sursa(job #696720)

Utilizator alexalbu95Albu Alexandru alexalbu95 Data 28 februarie 2012 19:46:19
Problema Secventa 2 Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <fstream>

using namespace std;

ifstream f("secv2.in");
ofstream g("secv2.out");

long n, k, i, first, last, begin, a[60000], sum, s[60000], sol;

int main()
{
    f>>n>>k;
    for(i=1; i<=n; ++i)
    {
        f>>a[i];
        s[i]=s[i-1]+a[i];
    }

    sum=s[k];
    first=1;
    last=k;

    sol=s[k];
    begin=0;

    for(i=k+1; i<=n; ++i)
    {
        sol+=a[i];
        if(sol<=s[i]-s[begin])
        {
            sol=s[i]-s[begin];
            begin=i-k+1;
        }
        if(sol>sum && i-begin+1>=k)
        {
            sum=sol;
            first=begin;
            last=i;
        }
    }

    g<<first<<" "<<last<<" "<<sum<<"\n";
}