Pagini recente » Cod sursa (job #2620610) | Cod sursa (job #2475490) | Cod sursa (job #591963)
Cod sursa(job #591963)
#include <stdio.h>
#define DIM 500001
#define MAX 30001
FILE *fin, *fout;
long int a[DIM];
long int n, k;
long int baza, poz, start, rez;
int main()
{
fin = fopen("secventa.in", "r");
fout = fopen("secventa.out", "w");
fscanf( fin, "%ld %ld", &n, &k );
baza = MAX;
int i;
for ( i = 1; i <= k; i++ )
{
fscanf( fin, "%ld", &a[i] );
if ( a[i] < baza )
{
baza = a[i];
poz = i;
}
}
rez = baza;
start = k;
int j, min, pz;
for ( i = k + 1; i <= n; i++ )
{
fscanf( fin, "%ld", &a[i] );
if ( poz == i-k )
{
min = MAX;
for ( j = i - k + 1; j <= i; j++ )
if ( a[j] <= min )
{
min = a[j];
pz = j;
}
if ( min > baza )
{
baza = min;
poz = pz;
}
}
else if ( a[i] < baza )
{
baza = a[i];
poz = i;
}
if ( baza > rez )
{
rez = baza;
start = i;
}
}
fprintf( fout, "%ld %ld %ld", start - k + 1, start, rez);
fclose(fin);
fclose(fout);
return 0;
}