Pagini recente » Cod sursa (job #1617816) | Cod sursa (job #1166770) | Cod sursa (job #835082) | Cod sursa (job #2886455) | Cod sursa (job #424120)
Cod sursa(job #424120)
#include<fstream>
#include<deque>
using namespace std;
void read();
void write();
deque<int> d;
long long s;
int n, k;
int main() {
read();
write();
return 0;
}
void read() {
ifstream fin("deque.in");
fin >> n >> k;
int i, aux, bk;
for (i = 0; i < k; ++i) {
fin >> aux;
while (!d.empty() && aux < d.front())
d.pop_front();
d.push_front(aux);
if (aux == d.back())
bk = i;
}
s += d.back();
for (i = k; i < n; ++i) {
if (i - bk >= k)
d.pop_back();
fin >> aux;
while (!d.empty() && aux < d.front())
d.pop_front();
d.push_front(aux);
if (d.back() == aux)
bk = i;
s += d.back();
}
fin.close();
}
void write() {
ofstream fout("deque.out");
fout << s;
fout.close();
}