Cod sursa(job #1830832)

Utilizator bleo16783FMI Bleotiu Cristian bleo16783 Data 17 decembrie 2016 10:43:56
Problema Secventa 2 Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.84 kb
#include <iostream>
#include<fstream>
#include<deque>
using namespace std;
int v[50001],i,k,x,n,s,ls,ld,mx=-1300000000,s1;
deque<int>d;
int main()
{
    /*ofstream h("secv2.in");
    h<<50000<<" "<<50000<<'\n';
    for(i=0;i<50000;++i)h<<-25000<<" ";*/
    ifstream f("secv2.in");
    f>>n>>k>>v[1];++n;
    s=v[1];s1=v[1];
    if(k==1)
    {
        ls=1;ld=1;mx=v[1];
    }
    d.push_front(1);
    for(i=2;i<n;++i)
    {
        f>>v[i];s+=v[i];s1+=v[i];
        d.push_front(i);
        while( (d.back() < i-k+1) && v[ d.back() ] < 1 )
        {
            s -=v[ d.back() ];
            d.pop_back();
        }
        if( s>mx && (d.front() > k-1) )
        {
            mx=s;
            ls=d.back();
            ld=d.front();
        }
    }
    ofstream g("secv2.out");
    g<<ls<<" "<<ld<<" "<<mx;
    return 0;
}