Pagini recente » Cod sursa (job #2793456) | Cod sursa (job #1655585) | Cod sursa (job #13562) | Cod sursa (job #1603473) | Cod sursa (job #424126)
Cod sursa(job #424126)
#include<fstream>
#include<deque>
using namespace std;
void read();
void write();
deque<pair<int, 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;
for (i = 0; i < k; ++i) {
fin >> aux;
while (!d.empty() && aux < d.front().first)
d.pop_front();
d.push_front(make_pair(aux, i));
}
s += d.back().first;
for (i = k; i < n; ++i) {
if (i - d.back().second >= k)
d.pop_back();
fin >> aux;
while (!d.empty() && aux < d.front().first)
d.pop_front();
d.push_front(make_pair(aux, i));
s += d.back().first;
}
fin.close();
}
void write() {
ofstream fout("deque.out");
fout << s;
fout.close();
}