Pagini recente » Cod sursa (job #2413464) | Cod sursa (job #2370872) | Monitorul de evaluare | Cod sursa (job #1710474) | Cod sursa (job #2078867)
#include <fstream>
using namespace std;
int n,k,Min,a[5000005],coada[5000005],i,j,p,u;
long long s;
ifstream f("deque.in");
ofstream g("deque.out");
void citire()
{
f>>n>>k;
for(i=1;i<=n;i++)
{
f>>a[i];
}
}
int rezolvare()
{
coada[1]=1;
p=u=1;
for(i=2;i<=n;i++)
{
while(u>=p && u )
if(a[i]<a[coada[u]]) u--;
else break;
coada[++u]=i;
if(i>=k)
{
s+=a[coada[p]];
if(coada[p] + k == i+1)p++;
}
}
return s;
}
int main()
{
citire();
g<<rezolvare()<<'\n';
return 0;
}