Pagini recente » Cod sursa (job #3255643) | Monitorul de evaluare | Rating Ambrus Victor (Ghiveci) | Cod sursa (job #3228972) | Cod sursa (job #3298748)
#include <algorithm>
#include <iostream>
#include <fstream>
#include <climits>
#include <vector>
#include <stack>
#include <cmath>
// #include <bits/stdc++.h>
#define in fin
#define out fout
using namespace std;
ifstream fin("secventa.in");
ofstream fout("secventa.out");
signed main(){
ios_base::sync_with_stdio(false);
in.tie(NULL);
int n, k; in >> n >> k;
int v[n];
for(int i = 0; i < n; i++) in >> v[i];
int l = -30000, r = 30000;
int sol = 0, st = 0, len = 0;
while(l <= r){
int m = (l + r) / 2;
int lmax = 0, x = 0;
for(int i = 0; i < n; i++){
if(v[i] >= m) x++;
else x = 0;
if(x >= k) break;
}
if(x >= k){
sol = m;
len = x;
l = m + 1;
}else r = m - 1;
}
int x = 0;
for(int i = 0; i < n; i++){
if(v[i] >= sol) x++;
else x = 0;
if(x == len){
out << i - x + 2 << " " << i + 1 << " ";
break;
}
}
out << sol << '\n';
return 0;
}