Pagini recente » Cod sursa (job #1217046) | Cod sursa (job #2381216) | Cod sursa (job #1941665) | Cod sursa (job #2879525) | Cod sursa (job #2879651)
#include <fstream>
#include <deque>
using namespace std;
ifstream fin("deque.in");
ofstream fout("deque.out");
#define DIM 5000000
long long s, n, k, v[DIM + 1];
deque <int> DQ;
int main() {
fin.tie(0);
fout.tie(0);
fin >> n >> k;
for(int i = 1; i <= k; i++) {
fin >> v[i];
while(!DQ.empty() && DQ.back() > v[i]) //elimin toate elementele mai mari decat x;
DQ.pop_back();
DQ.push_back(v[i]);
}
s = DQ.front(); //prima secventa de k elemente;
DQ.pop_front();
for(int i = k + 1; i <= n; i++) {
fin >> v[i];
if(DQ.front() == v[i - k])
DQ.pop_front();
while(!DQ.empty() && DQ.back() > v[i])
DQ.pop_back();
DQ.push_back(v[i]);
s += DQ.front();
}
fout << s;
return 0;
}