Pagini recente » Cod sursa (job #1569114) | Cod sursa (job #116506) | Cod sursa (job #488971) | Cod sursa (job #2181346) | Cod sursa (job #1342699)
#include <fstream>
#include <deque>
using namespace std;
ifstream f("deque.in");
ofstream g("deque.out");
int n,k,p,u;
int v[5000011];
long long sol;
deque<int> q;
int main(void){
register int i,j,x;
f>>n>>k;
p=1;
for(i=1;i<=n;i++){
f>>v[i];
if(i>k) p++;
if(i>k && q.front()<p)
q.pop_front();
while(!q.empty() && v[q.back()]>v[i])
q.pop_back();
q.push_back(i);
if(i>=k)
sol+=v[q.front()];
}
g<<sol;
f.close();
g.close();
return 0;
}