Cod sursa(job #1073198)

Utilizator ioalexno1Alexandru Bunget ioalexno1 Data 5 ianuarie 2014 19:38:39
Problema Farfurii Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.85 kb
#include <fstream>


using namespace std;

void read( int &x, int &y ){

    ifstream cin( "farfurii.in" );

    cin >> x >> y;
    cin.close();
}

void solve( int N, int K ){

    ofstream cout( "farfurii.out" );
    
    for( int i = 1; i <= N && K; ++i ){
           
        unsigned long long inv = 1LL * ( N - i ) * ( N - i - 1 ) / 2;
        if( inv >= K ){
           
            cout << i << " ";
            if( inv == K ){

                for( int j = N; j > i; --j )
                    cout << j << " ";
            K = 0;
            }
        }
        else {

             cout << i + K - inv << " ";
             for( int j = N; j >= i; --j )
                 if( j != i + K - inv ) cout << j << " ";
            K = 0;
            }
        }
    cout.close();
}

int main(){
    
    int N, K;
    read( N, K );
    solve( N, K );
    return 0;
}