Pagini recente » Cod sursa (job #2194267) | Cod sursa (job #82243) | Cod sursa (job #441062) | Cod sursa (job #1717703) | Cod sursa (job #558192)
Cod sursa(job #558192)
#include<fstream>
#include<iostream>
using namespace std;
int a[5000001],q[5000001],n,k,pr,ul,minim,poz,min1[5000001];
long long suma;
void Citire()
{
ifstream f ("deque.in");
f>>n>>k;
for (int i=1;i<=n;i++)
f>>a[i];
f.close();
}
int main()
{
Citire();
int pr,ul,i;
pr=1,ul=0;
for(i=1;i<=n;i++)
{ while(pr<=ul && a[i]<=a[q[ul]]) ul--;
q[++ul]=i;
if(q[pr]==i-k) pr++;
if(i>=k) suma+=a[q[pr]];
}
ofstream f("deque.out");
f<<suma<<"\n";
f.close();
return 0;
}