Cod sursa(job #2269798)

Utilizator st_marianStoica Marian st_marian Data 26 octombrie 2018 16:53:36
Problema Deque Scor 30
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.73 kb
#include <bits/stdc++.h>
using namespace std;
ifstream fin("deque.in");
ofstream fout("deque.out");
int n, k;
long long sum, x;
struct elem
{
    int val, poz;
};
vector<elem> myvec;
int main()
{
    fin>>n>>k;
    fin>>x;
    myvec.push_back(elem{});
    myvec.back().val=x;
    myvec.back().poz=1;
    for(int i=2; i<=n; i++)
    {
        fin>>x;
        for(int poz=myvec.size()-1; i-myvec[poz].poz<k && poz>=0; poz--)
        {
            if(x<myvec[poz].val)   myvec[poz].val=x;
            else break;
        }
        myvec.push_back(elem{});
        myvec.back().poz=i;
        myvec.back().val=x;
    }
    for(int i=0; i<=myvec.size()-k; i++)   sum+=myvec[i].val;
    fout<<sum<<'\n';
    return 0;
}