Submission #31987

#TimeUsernameProblemLanguageResultExecution timeMemory
31987chonkamedians (balkan11_medians)C++98
100 / 100
33 ms4552 KiB
#include<iostream> #include<stdio.h> using namespace std ; #define MAXN 200007 int n ; int a[ MAXN ] ; int ans[ MAXN ] ; int type[ MAXN ] ; bool used[ MAXN ] ; void input ( ) { scanf ( "%d" , &n ) ; int i ; for ( i = 1 ; i <= n ; i ++ ) { scanf ( "%d" , &a[ i ] ) ; } } void solve ( ) { int i ; for ( i = 1 ; i <= n ; i ++ ) { if ( used[ a[ i ] ] == false ) { ans[ 2 * i - 1 ] = a[ i ] ; } used[ a[ i ] ] = true ; if ( i != 1 ) { if ( a[ i ] > a[ i - 1 ] ) { type[ 2 * i - 1 ] = 1 ; type[ 2 * i - 2 ] = 1 ; } else if ( a[ i ] < a[ i - 1 ] ) { type[ 2 * i - 1 ] = -1 ; type[ 2 * i - 2 ] = -1 ; } else { type[ 2 * i - 1 ] = 1 ; type[ 2 * i - 2 ] = -1 ; } } } int l , r; l = 1 ; r = 2 * n - 1 ; for ( i = 1 ; i <= 2 * n - 1 ; i ++ ) { if ( ans[ i ] != 0 ) { printf ( "%d" , ans[ i ] ) ; } else { if ( type[ i ] == -1 ) { while ( used[ l ] == true ) { l ++ ; } used[ l ] = true ; printf ( "%d" , l ) ; } else { while ( used[ r ] == true ) { r -- ; } used[ r ] = true ; printf ( "%d" , r ) ; } } if ( i == 2 * n - 1 ) { printf ( "\n" ) ; } else { printf ( " " ) ; } } } int main ( ) { input ( ) ; solve ( ) ; return 0 ; }

Compilation message (stderr)

medians.cpp: In function 'void input()':
medians.cpp:15:25: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf ( "%d" , &n ) ;
                         ^
medians.cpp:18:34: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
         scanf ( "%d" , &a[ i ] ) ;
                                  ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...