Cod sursa(job #2503032)
Utilizator | Dan Bugnariu Dan_B | Data | 2 decembrie 2019 10:32:38 |
---|---|---|---|
Problema | Deque | Scor | 30 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.48 kb |
#include <bits/stdc++.h>
#define inf 0x3f3f3f3f
#define maxn 5000010
using namespace std;
ifstream in("deque.in");
ofstream out("deque.out");
int n,k;
int a[maxn];
long long s;
int i,j,p=0,best;
int main()
{
in>>n>>k;
for(i=1;i<=n;i++) in>>a[i];
best=inf;
for(i=1;i<=n;i++)
{
if(a[i]<=best) best=a[i],p=i;
if(p<=i-k)
{
best=inf,p=0;
for(j=0;j<k;j++)
if(a[i-j]<best) best=a[i-j],p=i-j;
}
if(i>=k) s+=best;
}
out<<s;
return 0;
}