Pagini recente » Cod sursa (job #350016) | Cod sursa (job #876636) | Cod sursa (job #1845566) | Cod sursa (job #1095513) | Cod sursa (job #811024)
Cod sursa(job #811024)
#include<cstdio>
#include<cstring>
#define MAX 500001
#define BUFF_SIZE 7*MAX
using namespace std;
FILE *f;
int n , k , v[MAX] , poz , max ;
char buffer[BUFF_SIZE];
void read();
void solve();
void write();
int main()
{
read();
solve();
write();
return 0;
}
void read()
{
f=fopen("secventa.in" , "r" );
fscanf(f, "%d%d\n" , &n ,&k );
fgets(buffer , BUFF_SIZE , f );
int j = 1 , semn = 1;
int i = 0;
while(buffer[i] != '\n' )
{
if(buffer[i] == ' ')
{
v[j] *= semn ;
semn = 1;
j++;
}
if(buffer[i] == '-')semn = -1;
if(buffer[i] >= '0' && buffer[i] <= '9')
v[j] = v[j] * 10 + buffer[i] - 48 ;
i++;
}
}
void solve()
{
int baza = v[1] ;
for( int i = 2 ; i<= k ; ++i )
if(v[i] < baza)
baza = v[i];
max = baza;
poz = 1;
for( int i = k+1 ; i <= n ; ++i )
{
if(v[i-k] == baza )
{
baza = v[i-k+1];
for(int j = i-k+2 ; j <= i ; ++j )
if(v[j] < baza )
baza = v[j];
if(baza > max )
{
max = baza;
poz = i-k+1;
}
}
}
}
void write()
{
freopen("secventa.out" , "w" , stdout);
printf("%d %d %d\n" , poz , poz+k-1 , max);
}