Cod sursa(job #2191465)

Utilizator cevacevaaltceva cevaceva Data 2 aprilie 2018 21:01:19
Problema Secventa 2 Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.2 kb
#include <fstream>

using namespace std;

ifstream cin("secv2.in");
ofstream cout("secv2.out");

int main()
{
    int n,k,sum=0;
    cin>>n>>k;
    int vec[n];
    for(int i=0; i<n; i++)
    {
        cin>>vec[i];
        if(i<k)
            sum+=vec[i];
    }
    int first=0,last=k-1,rf,rl,maxx=0,mij;
    for(int i=first; last<n; i++)
    {
        //cout<<sum<<" "<<first<<" "<<last<<"!\n";
        if(sum<1)
        {
            first=i;
            last=first+k-1;
            sum=0;
            for(int j=first; j<=last; j++)
                sum+=vec[j];
        }
        else
        {
            if(sum>=maxx)
            {
                maxx=sum;
                rf=first;
                rl=last;
            }
            mij=sum/2;
            if(mij<sum+vec[last+1])
            {
                last++;
                sum+=vec[last];
            }
            else
            {
                first++;
                last=first+k-1;
                sum=0;
                i=first;
                for(int j=first; j<=last; j++)
                    sum+=vec[j];
            }
        }
    }
    cout<<rf+1<<" "<<rl+1<<" "<<maxx;
    return 0;
}