Pagini recente » Cod sursa (job #2745248) | Cod sursa (job #903290) | Cod sursa (job #1412409) | Cod sursa (job #2191221) | Cod sursa (job #398787)
Cod sursa(job #398787)
#include <stdio.h>
#include <algorithm>
#define NMAX 100000
#define llong long long
using namespace std;
FILE *fin,*fout;
int n, k;
int a[NMAX],hip[NMAX];
int main()
{int i, j, min,start,stop;
//int x;
fin = fopen ("secventa.in","rt");
fout = fopen ("secventa.out","wt");
fscanf(fin,"%d %d",&n,&k);
for (i = 0; i < n;i++)
{
fscanf(fin,"%d",&a[i]);
}
for (i = 0; i < n;i++)
{
a[i] = -a[i];
}
for (i = 0; i < k; i++)
{
hip[i] = a[i];
}
make_heap(hip,hip+k);
min = hip[0];
start = 0;
stop = k-1;
for (i = k; i < n; i++)
{
for (j = 0; j < k; j++)
{
if (hip[j] == a[i-k]){
hip[j] = a[i];
break;
}
}
make_heap(hip,hip+k);
if ( min > hip[0] )
{min = hip[0];
start = i - k + 1;
stop = i;
}
}
min = -min;
start++;
stop++;
fprintf(fout,"%d %d %d\n",start,stop,min);
fclose(fin);
fclose(fout);
return 0;
}