Pagini recente » Cod sursa (job #2346246) | Cod sursa (job #1360039) | Cod sursa (job #2878295) | Cod sursa (job #1355375) | Cod sursa (job #2038109)
#include <stdlib.h>
#include <stdio.h>
#include <deque>
using namespace std;
#define MAXN 500000
#define INF 30001
int v[MAXN];
deque <int> deq;
int main()
{
int n, k, i, poz, bmax;
FILE *fi, *fo;
fi = fopen("secventa.in", "r");
fo = fopen("secventa.out", "w");
fscanf(fi, "%d%d", &n, &k);
for(i=0; i<n; i++)
fscanf(fi, "%d", &v[i]);
bmax=-INF;
for(i=0; i<n; i++) {
while(deq.empty()!=1 && v[i]<v[deq.back()])
deq.pop_back();
deq.push_back(i);
if(i>=k-1)
while(v[deq.back()]>bmax && deq.back()<=n-k) {
bmax=v[deq.back()];
poz=deq.back();
}
}
fprintf(fo, "%d %d %d", poz+1, poz+k, bmax);
fclose(fi);
fclose(fo);
return 0;
}