Pagini recente » Cod sursa (job #944999) | Cod sursa (job #2359402) | Cod sursa (job #1339369) | Cod sursa (job #747343) | Cod sursa (job #2808379)
#include <bits/stdc++.h>
using namespace std;
int n,k;
const int nmax=1e5;
short int arr[5*nmax+5];
short int bazamaxima,finalpos;
deque <short int> q;
int main()
{
freopen("secventa.in","r",stdin);
freopen("secventa.out","w",stdout);
ios_base::sync_with_stdio(false);
cin.tie(0);
cin>>n>>k;
for(int i=0;i<n;++i)
cin>>arr[i];
int i;
for(i=0;i<k;++i){
while(!q.empty() && arr[i]<=arr[q.back()])
q.pop_back();
q.push_back(i);
}
for(;i<n;++i){
if(arr[q.front()]>bazamaxima){
bazamaxima=arr[q.front()];
finalpos=i;
}
while(!q.empty() && q.front()<=i-k)
q.pop_front();
while(!q.empty() && arr[i]<=arr[q.back()])
q.pop_back();
q.push_back(i);
}
if(arr[q.front()]>bazamaxima){
bazamaxima=arr[q.front()];
finalpos=n-1;
}
cout<<finalpos+(finalpos==n-1?1:0)-k+1<<" "<<finalpos+(finalpos==n-1?1:0)<<" "<<bazamaxima;
}