Cod sursa(job #48940)

Utilizator Bluedrop_demonPandia Gheorghe Bluedrop_demon Data 5 aprilie 2007 10:46:34
Problema Subsir 2 Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.05 kb
// Problema Subsir 2

#include <stdio.h>
#define MAX        5001
#define MAXIM      1000001

long s[MAX];
int sol[MAX];

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