Pagini recente » Cod sursa (job #1734144) | Cod sursa (job #1416117) | Cod sursa (job #3218661) | Cod sursa (job #526104) | Cod sursa (job #529447)
Cod sursa(job #529447)
#include <fstream>
using namespace std;
ifstream fin("deque.in");
ofstream fout("deque.out");
const int maxn=5000009;
int i,N,K,A[maxn],D[maxn],Front,Back;
long long S;
int main()
{
fin >> N >> K;
for(i=1;i<=N;i++)
fin >> A[i];
Front=1; Back=0;
for(i=1;i<=N;i++)
{
while(Front <= Back && A[D[Back]] >= A[i])
Back--;
D[++Back]=i;
if(D[Front]==i-K) Front++;
if(i>=K) S+=A[D[Front]];
}
fout << S;
}