Pagini recente » Istoria paginii runda/gonathan | Cod sursa (job #1876175) | Cod sursa (job #974592) | Cod sursa (job #337114) | Cod sursa (job #2809890)
#include <fstream>
#include <algorithm>
#include <vector>
#include <queue>
#include <set>
#include <map>
#include <climits>
using namespace std;
int n, k;
int v[5000001];
multiset<int> elem;
ifstream fin("deque.in");
ofstream fout("deque.out");
int main()
{
fin >> n >> k;
int st = 1, dr = 0;
int sum = 0;
for (int i = 1; i <= n; i++)
{
fin >> v[i];
if (dr - st == k-1)
{
//afisez cel mai mic elem si suma
sum += *elem.begin();
multiset<int>::iterator itr = elem.find(v[st]);
elem.erase(itr);
st++;
}
dr++;
elem.insert(v[i]);
}
fout << sum;
return 0;
}