Cod sursa(job #2621871)
| Utilizator | Data | 30 mai 2020 21:40:00 | |
|---|---|---|---|
| Problema | Deque | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.62 kb |
#include <iostream>
#include <fstream>
#include <deque>
using namespace std;
ifstream fin("deque.in");
ofstream fout("deque.out");
int n, nr, k;
long long sum;
deque < pair < int, int > > coada;
int main()
{
fin >> n >> k;
for(int i = 1; i <= n; i++)
{
int x;
fin >> x;
while(!coada.empty() && coada.back().first >= x)
coada.pop_back();
coada.push_back(make_pair(x, i));
if(coada.front().second == i - k)
coada.pop_front();
if(i >= k)
sum += coada.front().first;
}
fout << sum;
}
