Cod sursa(job #2812217)

Utilizator NutaAlexandruASN49K NutaAlexandru Data 4 decembrie 2021 11:03:59
Problema Secventa 2 Scor 40
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.84 kb
#include <bits/stdc++.h>
#define di deque<int>
using namespace std;
const int INF=1e7;
int main()
{
    ifstream fin("secv2.in");
    ofstream fout("secv2.out");
    ios::sync_with_stdio(false);
    fin.tie(0);
    fout.tie(0);
    int n,k,imin,g,h;fin>>n>>k;
    vector<int> sum(n,0);
    deque<int> d;
    int rez=-INF;
    for(int i=0;i<n;i++)
    {
        int v;
        fin>>v;
        sum[i]=sum[i-1]+v;
        if(i>=k)
        {
            while(!d.empty() && sum[i-k]<=sum[d.back()])
            {
                d.pop_back();
            }
            d.push_back(i-k);
            int dif=sum[i]-sum[d.front()];
            if(rez<dif)
            {
                rez=dif;
                g=d.front()+2;
                h=i+1;
            }
        }
    }
    fout<<g<<" "<<h<<" "<<rez;
    return 0;
}