Cod sursa(job #3211185)

Utilizator MegaCoderMinoiu Teodor Mihai MegaCoder Data 8 martie 2024 18:11:05
Problema Deque Scor 60
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.8 kb
#include<fstream>
#include<deque>
std::ifstream fin("deque.in");
std::ofstream fout("deque.out");
long long s=0;
std::deque<std::pair<int, long long>>q;
void update(long long elem, int pos)
{
    while(!q.empty() && elem<q.back().second)
        q.pop_back();
    q.push_back(std::make_pair(pos, elem));
}
int main()
{
    std::ios_base::sync_with_stdio(false);
    int n, k;
    fin>>n>>k;
    long long val;
    for(int index=0; index<k; ++index)
    {
        fin>>val;
        update(val, index);
    }
    s+=q.front().second;
   // fout<<vec[q.front()]<<' ';
    for(int index=k; index<n; ++index)
    {
        if(index-q.front().first==k)
            q.pop_front();

        fin>>val;
        update(val, index);
        s+=q.front().second;
       // fout<<vec[q.front()]<<' ';
    }
    fout<<s;
    return 0;
}