Pagini recente » Cod sursa (job #3261960) | Cod sursa (job #3277522) | Istoria paginii runda/vacanta_11_3 | Cod sursa (job #236666) | Cod sursa (job #779275)
Cod sursa(job #779275)
#include <fstream>
using namespace std;
ifstream f("deque.in");
ofstream g("deque.out");
#define NMAX 5000001
#define INFINIT 100000000
int n,k,a[NMAX];
long long suma;
void deque()
{
f>>n>>k;
for(int i = 0; i < n; ++i)f>>a[i];
int mic = INFINIT,p = 0;
for(int i = 1; i <= n; ++i)
{
if(a[i] < mic)mic = a[i],p = i + 1;
if(p <= i - k)
{
mic = INFINIT,p = 0;
for(int j = 0; j < k;++j)if(a[i - j] <= mic)mic = a[i - j],p = (i - j) + 1;
}
if(i >= k)suma += mic;
}
g<<suma<<'\n';
}
int main()
{
deque();
g.close();
return 0;
}