Pagini recente » Cod sursa (job #838568) | Cod sursa (job #2826595) | Cod sursa (job #1798529) | Cod sursa (job #1878692) | Cod sursa (job #424145)
Cod sursa(job #424145)
#include<fstream>
#include<deque>
using namespace std;
void read();
void write();
deque<pair<int, int> > deq;
int n, k;
int p, v;
int main() {
read();
write();
return 0;
}
void read() {
ifstream fin("secventa.in");
fin >> n >> k;
int i, aux;
for (i = 1; i <= k; ++i) {
fin >> aux;
while (!deq.empty() && deq.front().first > aux)
deq.pop_front();
deq.push_front(make_pair(aux, i));
}
v = deq.back().first;
p = k;
for (i = k + 1; i <= n; ++i) {
if (i - deq.back().second >= k)
deq.pop_back();
fin >> aux;
while (!deq.empty() && deq.front().first > aux)
deq.pop_front();
deq.push_front(make_pair(aux, i));
if (deq.back().first > v) {
v = deq.back().first;
p = i;
}
}
fin.close();
}
void write() {
ofstream fout("secventa.out");
fout << p - k + 1 << ' ' << p << ' ' << v;
fout.close();
}