Pagini recente » Cod sursa (job #505765) | Cod sursa (job #1984954) | Cod sursa (job #1075892) | Rating Leonte Tudor Florin (leonte.tudor) | Cod sursa (job #1552172)
#include<iostream>
#include<fstream>
#define nmax 5000005
using namespace std;
ifstream fin ("deque.in");
ofstream fout ("deque.out");
struct coord{
int val, poz; /// valoarea respectiva si pozitia in vectorul initial
};
int n, k, st, dr;
long long int suma;
coord coada[nmax];
int main ()
{
int i, j, x;
fin >> n >> k;
dr = 1; st = 1;
suma = 0;
fin >> coada[st].val;
coada[st].poz = 1;
for (i=1; i<=k; i++)
{
suma += coada[st].val;
fin >> x;
while (dr >=st && x < coada[dr].val)
dr--;
coada[dr].val = x;
coada[dr].poz = i;
if (coada[st].poz < i + k)
st++;
}
fout << suma << "\n";
fin.close();
fout.close();
return 0;
}