Pagini recente » Cod sursa (job #3363216) | Cod sursa (job #3361444) | Monitorul de evaluare | Cod sursa (job #3363143) | Cod sursa (job #3363219)
#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<<capat2<<' '<<capat1<<' '<<minim;
return 0;
}