Pagini recente » Cod sursa (job #1402352) | Cod sursa (job #2829804) | Cod sursa (job #3203943) | Cod sursa (job #2195844) | Cod sursa (job #2832787)
#include <fstream>
#include <vector>
#include <climits>
#include <queue>
using namespace std;
ifstream cin("secventa.in");
ofstream cout("secventa.out");
#define FOR(i,a,b) for(int i=(a);i<=(b);i++)
class Info{
public:
int nr;
int poz;
};
class Compare{
public:
bool operator()(Info a,Info b){
return a.nr>b.nr;
}
};
int n,k;
vector<Info> v;
vector<int> minR;
void read(){
cin>>n>>k;
v.resize(n+1);
// minR.resize(n+1,INT_MAX);
FOR(i,1,n){
cin>>v[i].nr;
v[i].poz=i;
}
}
/*void solve1(){
FOR(i,n-k+2,n){
minR[i]=-1;
}
FOR(i,n-k+1,n){
minR[n-k+1]=min(minR[n-k+1],v[i]);
}
for(int i=n-k;i>0;i--){
minR[i]=min(v[i],minR[i+1]);
}
int pozMax,mx=INT_MIN;
for(int i=1;i<=n-k+1;i++){
(mx<minR[i])?pozMax=i,mx=minR[i]:NULL;
}
cout<<pozMax<<" "<<n<<" "<<minR[pozMax];
// for(int i=1;i<=n;i++){
// cout<<minR[i]<<" ";
// }
}*/
void solve2(){
priority_queue<Info,vector<Info>,Compare> Q;
FOR(i,1,n-k+1){
Q.push(v[i]);
}
int nrMax=INT_MIN,pozMax=0;
while(!Q.empty()){
if(nrMax<Q.top().nr){
nrMax=Q.top().nr;
pozMax=Q.top().poz;
}
Q.pop();
}
cout<<pozMax<<" "<<n<<" "<<nrMax;
}
int main() {
read();
solve2();
return 0;
}