Pagini recente » Cod sursa (job #2169190) | Cod sursa (job #2183069) | Cod sursa (job #1145706) | Cod sursa (job #1590086) | Cod sursa (job #1388692)
#include <stdio.h>
#include <stdlib.h>
//elemek szam
#define MAXN 500001
#define MAXNR 60001
//a minmum etek
#define MIN_V -30000
#define A 30000
short a[MAXN];
unsigned char v[MAXNR]={0};
unsigned long n, k, o;
int main()
{
FILE * fi, *fo;
short t, minim=(-MIN_V)+1, mini_max=MIN_V-1;
unsigned long i, j, mini_max_idx=0;
o=0;
fi=fopen("secventa.in", "rt");
fo=fopen("secventa.out", "wt");
fscanf(fi, "%lu%lu", &n, &k);
for (i=0; i!=n; i++)
{
fscanf(fi, "%hd", &t);
if (i>=k)
{
v[a[i-k]+A]--;
if ((v[a[i-k]+A]==0)&&(a[i-k]==minim))
{
for (j=a[i-k]+A; v[j]==0; j++); //uj minimum kereses
minim=j-A;
}
}
a[i]=t;
v[t+A]++;
if (t<minim)
minim=t;
if ((i>=k)&&(minim>mini_max))
{
mini_max=minim;
mini_max_idx=i;
}
}
fprintf(fo, "%lu %lu %ld", mini_max_idx-k+2, mini_max_idx+1, mini_max);
fclose(fi);
fclose(fo);
return 0;
}