Cod sursa(job #42226)

Utilizator Bluedrop_demonPandia Gheorghe Bluedrop_demon Data 28 martie 2007 23:21:19
Problema Secventa Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.3 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, p, q;
    int min, max;
    freopen( "secventa.in" , "rt", stdin );
             scanf( "%ld %ld", &n, &k );
             for( i=1; i<=n; i++ ) scanf( "%d", &sir[i] );
             max = -MAXIM;
             pozmin = 0;
             p = 1;
             q = p;
             while( p <= n )
                    {
                        min = MAXIM;
                        for( i=p; (i<=p+k-1) && (i <=n ); i++ )
                                  if( sir[i] < min )
                                      {
                                             pozmin = i;
                                             min = sir[i];
                                      }
                        if( (min > max) && (i-p == k) )
                            {
                                q = p;
                                max = min;
                            }                        
                        p = pozmin +1;
                    }
                  
    fclose( stdin );
    
    freopen( "secventa.out", "wt", stdout );
             printf( "%ld %ld %d\n", q, q+k-1, max );
    fclose( stdout );
    return 0;
}