Pagini recente » Istoria paginii utilizator/alexpascu007 | Atasamentele paginii Clasament simulare_oji_10_2 | Diferente pentru utilizator/mciprianm intre reviziile 17 si 46 | Diferente pentru utilizator/mciprianm intre reviziile 31 si 46 | Cod sursa (job #2940378)
#include <bits/stdc++.h>
using namespace std;
ifstream f("deque.in");
ofstream g("deque.out");
int n,k,fr,b,v[5000002],Q[5000002],j,i;
long long s;
int main()
{
f>>n>>k;
for(i=1; i<=n; i++)
{
f>>v[i];
}
fr=1;
b=0;
for(i=1; i<=n; i++)
{
while(fr<=b&&v[i]<=v[Q[b]])b--;
Q[++b]=i;
if(Q[fr]==i-k)fr++;
if(i>=k)s+=v[Q[fr]];
}
g<<s;
return 0;
}