Pagini recente » Cod sursa (job #1193651) | Cod sursa (job #35806) | Cod sursa (job #2564342) | Cod sursa (job #3231914) | Cod sursa (job #2424527)
#include <fstream>
using namespace std;
ifstream in("secventa.in");
ofstream out("secventa.out");
int N,k;
int v[500001],stiva[500001];
int main(){
in >> N >> k;
for(int i = 1; i <= N; ++i)
in >> v[i];
int li = 1, ls = 0, poz = k, maxi =-500001;
for(int i = 1; i <= N; ++i){
while(li <= ls and v[i] <= v[stiva[ls]])
ls--;
ls++;
stiva[ls] = i;
if(stiva[li] == i - k)
li++;
if(i >= k and v[stiva[li]] > maxi){
maxi = v[stiva[li]];
poz = i;
}
}
out << poz - k + 1 << " " << poz << " " << maxi;
return 0;
}