Pagini recente » Cod sursa (job #1360208) | Cod sursa (job #1987253) | Cod sursa (job #2690513) | Cod sursa (job #419773) | Cod sursa (job #1697399)
#include <fstream>
#include <cstdio>
#include <vector>
#include <deque>
#define NMAX 5000005
#define HMAX 100005
#define pb push_back
#define INF 0x3f3f3f3f
using namespace std;
typedef pair<int, int> pii;
ifstream fin("deque.in");
ofstream fout("deque.out");
int v[NMAX];
int main() {
int n,k,i;
long long sum=0;
fin>>n>>k;
for(i=1;i<=n;++i) fin>>v[i];
deque<int> dq;
for(i=1;i<=n;++i) {
while(!dq.empty() && v[dq.back()]>v[i]) dq.pop_back();
dq.push_back(i);
if(dq.front()<=i-k)
dq.pop_front();
if(i>=k) sum+=1LL*v[dq.front()];
}
fout<<sum;
return 0;
}