Pagini recente » Cod sursa (job #850127) | Cod sursa (job #2978251) | Cod sursa (job #1688851) | Cod sursa (job #791250) | Cod sursa (job #74737)
Cod sursa(job #74737)
#include <stdio.h>
int a[500001], c[500001];
int main()
{
FILE* f = fopen("secventa.in","r");
int m, k;
fscanf(f,"%d %d",&m,&k);
int ind1 = 1;
int ind2 = 0;
a[0] = -31000;
int kmin =- a[0];
int pmin = k;
for (int i=1;i<=k;i++) {
int h;
fscanf(f,"%d",&h);
for (j=0; h < a[ind2]; ind2--) ;
ind2++;
a[ind2] = h;
c[i] = h;
if (h < kmin) { kmin = h; }
}
pmin = k;
for (int i=k+1;i<=m;i++) {
int h;
fscanf(f,"%d", &h);
for (int j=0; h < a[ind2]; ind2--) ;
ind2++;
a[ind2] = h;
c[i] = h;
if (c[i-k] == a[ind1])
{
a[ind1] = -31000;
ind1++;
}
if (a[ind1] > kmin)
{
kmin = a[ind1];
pmin = i;
}
}
fclose(f);
f = fopen("secventa.out", "w");
fprintf(f,"%d %d %d", pmin-k+1, pmin, kmin);
fclose(f);
return 0;
}