Cod sursa(job #2164924)
Utilizator | Guta Razvan Alexandru RazvanGuta | Data | 13 martie 2018 10:27:41 |
---|---|---|---|
Problema | Deque | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.47 kb |
#include<fstream>
using namespace std;
ifstream f("deque.in");
ofstream g("deque.out");
int n,k,inceput,sfarsit,q[5000001],mi,i,x,j,a[5000001];
long long s;
int main()
{
f>>n>>k;
inceput=1;
for(i=1;i<=n;i++)
f>>a[i];
for(i=1;i<=n;i++)
{
while(inceput<=sfarsit&&a[i]<=a[q[sfarsit]])
sfarsit--;
q[++sfarsit]=i;
if(q[inceput]==i-k)
inceput++;
if (i>=k)
s+=a[q[inceput]];
}
g<<s;
return 0;
}