Pagini recente » Cod sursa (job #475944) | Istoria paginii runda/pregatireoji | Cod sursa (job #1539263) | Cod sursa (job #236514) | Cod sursa (job #1526232)
#include <fstream>
long long v[5000000], len, s, front,x;
long pos[5000000];
long N, k;
using namespace std;
int main(){
ofstream of("deque.out");
ifstream f("deque.in");
f >> N >> k;
front = 1; len = 0;
for (long i = 1; i <= N; ++i)
f >> v[i];
for (long i = 1; i <= N; ++i){
while (len >= front && v[i]<=v[pos[len]]) --len;
pos[++len] = i;
if (pos[front] <= i - k)
++front;
if (i >= k)s += v[pos[front]];
}
of << s << "\n";
}