Pagini recente » Cod sursa (job #1321006) | Cod sursa (job #615693) | Cod sursa (job #2637412) | Cod sursa (job #943093) | Cod sursa (job #355746)
Cod sursa(job #355746)
#include<stdio.h>
#define dim 500001
using namespace std;
int A[dim], deque[dim], N,K,i,min,in,sf,capat;
void functie()
{
min = capat = -30001;
in = sf = 1;
for(i = 1; i <= N; i++)
{
while(in <= sf && A[deque[sf]] >= A[i]) sf--;
deque[++sf] = i;
if (i - deque[in] == K) in++;
if (A[deque[in]] > min && i >= K)
{
min = A[deque[in]];
capat = i;
}
}
}
int main()
{
FILE *f = fopen("secventa.in", "r");
FILE *g = fopen("secventa.out", "w");
fscanf(f, "%d%d", &N, &K);
for(i = 1; i <= N; i++)
fscanf(f, "%d", &A[i]);
functie();
fprintf(g, "%d %d %d\n", capat-K+1, capat, min);
fclose(f);
fclose(g);
return 0;
}