Cod sursa(job #1339941)

Utilizator xtreme77Patrick Sava xtreme77 Data 11 februarie 2015 12:42:11
Problema Congr Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.17 kb
/*
 * Code by Spiromanul
 */

# include "fstream"
# include "cstring"
# include "vector"
# include "queue"
# include "bitset"
# include "algorithm"
# include "deque"
# include "ctime"
# include "cstdlib"

const char IN [ ] = "congr.in" ;
const char OUT [ ] = "congr.out" ;
const int MAX = 800000 ;

# define pb push_back
# define mp make_pair
# define FORN( a , b , c ) for ( int a = b ; a <= c ; ++ a )
# define FORNBACK( a , b , c ) for ( int a = b ; a >= c ; -- a )

using namespace std;

ifstream cin ( IN ) ;
ofstream cout ( OUT ) ;

int ans [ MAX ] ;
int v [ MAX ] ;

int main ( void )
{
    int n ;
    long long S = 0 ;

    cin >> n ;

    srand ( time ( NULL ) ) ;

    FORN ( i , 1 , ( n << 1 ) - 1 )
    {
        cin >> v [ i ] ;
        ans [ i ] = i ;

        if ( i <= n )
            S = S + v [ i ] ;
    }

    while ( S % n )
    {
        int I = rand ( ) % n + 1  ;
        int J = n + rand ( ) % ( n - 1 ) + 1 ;

        S = S - v [ I ] + v [ J ] ;
        swap ( ans [ I ] , ans [ J ] ) ;
        swap ( v [ I ] , v [ J ] ) ;
    }

    FORN ( i , 1 , n )
        cout << ans [ i ] << ' ' ;
    return 0;
}