Cod sursa(job #2614035)
Utilizator | Data | 11 mai 2020 01:30:46 | |
---|---|---|---|
Problema | Deque | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.47 kb |
#include <fstream>
using namespace std;
ifstream f("deque.in");
ofstream g("deque.out");
int k,i,n,st,dr;
long long s;
int main()
{
f>>n>>k;
int a[n+1],dq[n+1];
for(i=1;i<=n;i++)
f>>a[i];
st=1;dr=1;
dq[1]=1;
for(i=2;i<=n;i++)
{
while(st<=dr&&a[i]<=a[dq[dr]])
dr--;
dq[++dr]=i;
if(i-k==dq[st])
st++;
if(i>=k)
s+=a[dq[st]];
}
g<<s;
return 0;
}