Pagini recente » Monitorul de evaluare | Istoria paginii utilizator/anamaria2410 | Cod sursa (job #2014241) | Cod sursa (job #1301445) | Cod sursa (job #2574549)
#include <cstdio>
#include <deque>
using namespace std;
deque <pair<long long,long long> > v;
int main()
{
long long n, i, t=0, a, k;
FILE *fin, *fout;
fin=fopen("deque.in" ,"r");
fout=fopen("deque.out" ,"w");
fscanf(fin, "%lld%lld" ,&n ,&k);
for (i=0;i<k;i++) {
fscanf(fin, "%lld" ,&a);
while (!v.empty() && a<=v.front().first) {
v.pop_front();
}
v.push_front(make_pair(a, i));
}
t=v.back().first;
for (i=i;i<n;i++) {
fscanf(fin, "%lld" ,&a);
if (v.back().second+k<=i) {
v.pop_back();
}
while (!v.empty() && a<=v.front().first) {
v.pop_front();
}
v.push_front(make_pair(a, i));
// fprlong longf(fout, "%d " ,t);
t+=v.back().first;
//fprlong longf(fout, "%d\n" ,t);
}
fprintf(fout, "%lld" ,t);
return 0;
}