Cod sursa(job #2172053)
| Utilizator | Data | 15 martie 2018 14:50:42 | |
|---|---|---|---|
| Problema | Deque | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.48 kb |
#include <fstream>
using namespace std;
ifstream fin("deque.in");
ofstream fout("deque.out");
const int nmax=5000000;
int n,v[nmax+5],k;
int deq[nmax+5],st=1,dr=0;
long long ans=0;
int main()
{
fin>>n>>k;
for(int i=1;i<=n;i++)
{
fin>>v[i];
while(st<=dr && v[i]<v[deq[dr]])
dr--;
if(st<=dr && deq[st]<=i-k)
st++;
deq[++dr]=i;
if(i>=k)
ans+=v[deq[st]];
}
fout<<ans;
return 0;
}
/**
**/
