Submission #292079

#TimeUsernameProblemLanguageResultExecution timeMemory
292079BadrangiikhGondola (IOI14_gondola)C++14
Compilation error
0 ms0 KiB
#include<bits/stdc++.h> #include "gondola.h" using namespace std; int valid(int n, int inputSeq[]){ vector < pair < int , int > > vec ; vector < int > vc ; for ( int i = 0 ; i < n ; i ++ ) { if ( inputSeq [ i ] <= n ) { vec . push_back ( { inputSeq [ i ] , i } ) ; } vc . push_back ( inputSeq [ i ] ) ; } sort ( vc . begin ( ) , vc . end ( ) ) ; for ( int i = 1 ; i < vc . size ( ) ; i ++ ) { if ( vc [ i - 1 ] == vc [ i ] ) return 0 ; } sort ( vec . begin ( ) , vec . end ( ) ) ; for ( int i = 1 ; i < vec . size ( ) ; i ++ ) { if ( vec [ i ] . first - vec [ i - 1 ] . first != ( ( vec [ i ] . second - vec [ i - 1 ] . second ) % n + n ) % n ) { return 0 ; } } return 1 ; } int replacement(int n, int gondolaSeq[], int replacementSeq[]){ int n , maxx , minn , indx , x ; vector < int > vec ; vector < pair < int , int > > vc ; minn = n + 1 ; for ( int i = 0 ; i < n ; i ++ ) { if ( minn > gondolaSeq [ i ] ) { indx = i ; minn = gondolaSeq [ i ] ; } maxx = max ( maxx , gondolaSeq [ i ] ) ; } if ( minn <= n ) { for ( int i = ( n + indx - minn ) % n + 1 ; i <= ( n + indx - minn ) % n + n ; i ++ ) { vc . push_back ( { gondolaSeq [ i % n ] , i - ( ( n + indx - minn ) % n + 1 ) } ) ; } } else { for ( int i = 0 ; i < n ; i ++ ) { vc . push_back ( { gondolaSeq [ i ] , i } ) ; } } sort ( vc . begin ( ) , vc . end ( ) ) ; x = n + 1 ; for ( int i = 0 ; i < vc . size ( ) ; i ++ ) { if ( vc [ i ] . first == vc [ i ] . second + 1 ) continue ; vec . push_back ( vc [ i ] . second + 1 ) ; for ( int j = x ; j <= vc [ i ] . first - 1 ; j ++ ) { vec . push_back ( j ) ; } x = vc [ i ] . first + 1 ; } for ( int i = 0 ; i < vec . size ( ) ; i ++ ) { replacementSeq [ i ] = vec [ i ] ; } return maxx - n ; } int countReplacement(int n, int inputSeq[]) { return 0 ; }

Compilation message (stderr)

gondola.cpp: In function 'int valid(int, int*)':
gondola.cpp:15:25: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   15 |     for ( int i = 1 ; i < vc . size ( ) ; i ++ ) {
      |                       ~~^~~~~~~~~~~~~~~
gondola.cpp:19:25: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   19 |     for ( int i = 1 ; i < vec . size ( ) ; i ++ ) {
      |                       ~~^~~~~~~~~~~~~~~~
gondola.cpp: In function 'int replacement(int, int*, int*)':
gondola.cpp:27:9: error: declaration of 'int n' shadows a parameter
   27 |     int n , maxx , minn , indx , x ;
      |         ^
gondola.cpp:50:25: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   50 |     for ( int i = 0 ; i < vc . size ( ) ; i ++ ) {
      |                       ~~^~~~~~~~~~~~~~~
gondola.cpp:58:25: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   58 |     for ( int i = 0 ; i < vec . size ( ) ; i ++ ) {
      |                       ~~^~~~~~~~~~~~~~~~