Pagini recente » Monitorul de evaluare | Istoria paginii runda/wunderbareswanker | Cod sursa (job #1347210) | Istoria paginii runda/mmuulsta4/clasament | Cod sursa (job #3137671)
#include <fstream>
#define NMAX 5000000
using namespace std;
ifstream cin("deque.in");
ofstream cout("deque.out");
int dq[NMAX], v[NMAX];
int st=0, dr=-1;
void baga(int poz)
{
while(v[poz]<=v[dq[dr]] && dr>=st)
dr--;
dq[++dr]=poz;
}
void scoate(int poz)
{
if(dq[st]==poz)
st++;
}
int main()
{
int n, k, i;
long long s=0;
cin>>n>>k;
for(i=1;i<=n;i++)
cin>>v[i];
for(i=1;i<k;i++)
baga(i);
for(i=k;i<=n;i++)
{
baga(i);
s+=v[dq[st]];
scoate(i-k+1);
}
cout<<s;
return 0;
}