Pagini recente » Cod sursa (job #614379) | Cod sursa (job #473959) | Cod sursa (job #578212) | Cod sursa (job #2060255) | Cod sursa (job #977186)
Cod sursa(job #977186)
#include<stdio.h>
#include<deque>
#define NMAX 500007
#define INF -0x3f3f3f3f
using namespace std;
deque <int> Deq;
int a[NMAX];
int n, k, Min, Poz;
int main(){
freopen("secventa.in", "r", stdin);
freopen("secventa.out", "w", stdout);
scanf("%d %d", &n, &k);
for(int i = 1; i <= n; ++ i)
scanf("%d", &a[i]);
Min = INF;
for(int i = 1; i <= n ; ++ i){
while(! Deq.empty() && a[Deq.back()] > a[i])
Deq.pop_back();
Deq.push_back(i);
if(Deq.front() <= i - k)
Deq.pop_front();
if(i >= k && a[Deq.front()] > Min){
Min = a[Deq.front()];
Poz = i;
}
}
printf("%d %d %d\n", Poz - k + 1, Poz, Min);
return 0;
}