Pagini recente » Cod sursa (job #2377204) | Cod sursa (job #2196011) | Cod sursa (job #1587187) | Cod sursa (job #73907) | Cod sursa (job #2915800)
#include <fstream>
#include <vector>
#include <climits>
#include <queue>
using namespace std;
ifstream cin("secventa.in");
ofstream cout("secventa.out");
class Info{
public:
int nr;
int pos;
};
class Compare{
public:
bool operator()(Info a,Info b){
return a.nr>b.nr;
}
};
int n,k;
vector<Info> v;
priority_queue<Info,vector<Info>,Compare> PQ;
void read(){
cin>>n>>k;
v.resize(n+1);
for(int i=1;i<=n;i++){
cin>>v[i].nr;
v[i].pos=i;
}
}
Info addSeq(int startSeq,int endSeq){
while(!PQ.empty())PQ.pop();
for(int i=startSeq;i<=endSeq;PQ.push(v[i]),i++);
return PQ.top();
}
void solve(){
Info minElem,maxElem;
maxElem.nr = INT_MIN;
for(int i = 1;i<=n-k+1;i++){
minElem = addSeq(i,i+k-1);
if(maxElem.nr < minElem.nr)
maxElem = minElem;
}
cout<<maxElem.pos<<" "<<maxElem.pos+k-1<<" "<<maxElem.nr;
}
int main() {
read();
solve();
return 0;
}