Pagini recente » Cod sursa (job #2933921) | Cod sursa (job #82467) | Cod sursa (job #1658482) | Cod sursa (job #346676) | Cod sursa (job #48919)
Cod sursa(job #48919)
// 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 );
int k;
s[0] = -MAXIM;
for( k=1; (k<=n) && ( s[k] > s[k-1] ); k++ );
long min;
i = 0;
int j = 0, p = 0, sk;
while( ( p < k ) && ( 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;
}