Pagini recente » Cod sursa (job #1394) | Cod sursa (job #1222575) | Cod sursa (job #1921928) | Cod sursa (job #1997003) | Cod sursa (job #424137)
Cod sursa(job #424137)
#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 = deq.back().second;
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 = deq.back().second;
}
}
fin.close();
}
void write() {
ofstream fout("secventa.out");
fout << p << ' ' << p + k - 1 << ' ' << v;
fout.close();
}