Pagini recente » Cod sursa (job #2981266) | Cod sursa (job #1523065) | Cod sursa (job #340206) | Cod sursa (job #2860692) | Cod sursa (job #2359064)
#include <fstream>
#include <deque>
using namespace std;
ifstream fin ("secventa.in");
ofstream fout ("secventa.out");
deque <int> d;
int v[500005];
int main(){
int n,k,i,maxi=-30001,poz;
fin>>n>>k;
v[0]=v[n+1]=-30001;
for (i=1;i<=n;i++){
fin>>v[i];
while (!d.empty() && d.front()<i-k+1)
d.pop_front();
while (!d.empty() && v[d.back()]>v[i])
d.pop_back();
d.push_back(i);
if (i>=k)
if (v[d.front()]>maxi){
maxi=v[d.front()];
poz=d.front();
}
}
i=poz;
while (v[i]>=maxi)
i--;
i++;
fout<<i<<" "<<i+k-1<<" "<<maxi;
return 0;
}