Cod sursa(job #42231)

Utilizator Bluedrop_demonPandia Gheorghe Bluedrop_demon Data 28 martie 2007 23:29:41
Problema Secventa Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.68 kb
// Problema secventa

#include <stdio.h>
#define MAX       500001
#define MAXIM     32000

int sir[MAX];
int minim[MAX];

int main()
{
    long n, k, i, pozmin, j, p, q;
    int min, max;
    freopen( "secventa.in" , "rt", stdin );
             max = -MAXIM;
             pozmin = 0;
             p = 1;
             q = p;
             min = MAXIM;
             scanf( "%ld %ld", &n, &k );
             for( i=1; i<=n; i++ ) 
                  { 
                       scanf( "%d", &sir[i] );
                       if( sir[i] < min )
                           {
                                  pozmin = i;
                                  min = sir[i];
                           }
                       if( (i-p+1)%k == 0 )
                           {
                                   if( min > max ) 
                                       {
                                           q = p;
                                           max = min;
                                       }
                                   p = pozmin +1;
                                   min = MAXIM;
                                   for( j=p; j<= i; j++ )
                                        if( sir[j] < min )
                                            {
                                                   min = sir[j];
                                                   pozmin = j;
                                            }
                           }
                  }
                       
    fclose( stdin );
    
    freopen( "secventa.out", "wt", stdout );
             printf( "%ld %ld %d\n", q, q+k-1, max );
    fclose( stdout );
    return 0;
}