Pagini recente » Monitorul de evaluare | Atasamentele paginii Vase | Diferente pentru utilizator/avadaneiradu intre reviziile 7 si 1 | Atasamentele paginii Fence | Cod sursa (job #2210366)
#include <bits/stdc++.h>
using namespace std;
ifstream in("secventa.in");
ofstream out("secventa.out");
struct ELEM{
int nr, poz;
};
deque<ELEM> deck;
ELEM maxx={-1e5, 0};
int main(){
long long n, k, i, nr, s=0;
in >> n >> k;
for (i=1; i<=n; i++){
in >> nr;
while (!deck.empty() && nr<deck.back().nr)
deck.pop_back();
deck.push_back({nr, i});
if (deck.front().poz-1==i-k){
if (deck.front().nr>maxx.nr)
maxx=deck.front();
deck.pop_front();
}
}
out << maxx.poz << ' ' << maxx.poz+k-1 << ' ' << maxx.nr;
}