Pagini recente » Cod sursa (job #3363185) | Borderou de evaluare (job #3363157) | Cod sursa (job #3363190) | Cod sursa (job #3363180) | Cod sursa (job #3363222)
#include <fstream>
#include <deque>
using namespace std;
ifstream cin ("secventa.in");
ofstream cout ("secventa.out");
int main()
{
deque <int> dq;
int n, k, i, capat1=0, capat2=0, minim=-1e9;
cin>>n>>k;
int v[n+1];
for (i=1; i<=n; i++) cin>>v[i];
for (i=1; i<=n; i++){
while (!dq.empty()&&v[dq.back()]>v[i])dq.pop_back();
dq.push_back(i);
if (dq.front()<=i-k){
dq.pop_front();
if (v[dq.front()]>minim){
minim=v[dq.front()];
capat2=dq.back();
capat1=dq.front();
}
}
}
cout<<capat1<<' '<<capat2<<' '<<minim;
return 0;
}