Cod sursa(job #2568324)
Utilizator | Popa Bianca Daniela BiaPopa | Data | 3 martie 2020 22:02:42 |
---|---|---|---|
Problema | Deque | Scor | 25 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.5 kb |
#include <bits/stdc++.h>
using namespace std;
int n, k, s, i, x;
struct orice
{
int poz;
int val;
};
deque <orice> D;
int main()
{
ifstream fin("deque.in");
ofstream fout("deque.out");
fin >> n >> k;
for(i=1; i<=n; i++)
{
fin >> x;
while(!D.empty() && x<=D.back().val)D.pop_back();
D.push_back({i,x});
if(D.front().poz==i-k)D.pop_front();
if(i>=k)
s=s+D.front().val;
}
fout << s;
return 0;
}