Cod sursa(job #2582308)

Utilizator Anakin1001George Giorgiu Gica Anakin1001 Data 16 martie 2020 16:23:25
Problema Farfurii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <fstream>
#include <deque>

#define N 100001

using namespace std;

ifstream f ( "farfurii.in" );
ofstream g ( "farfurii.out" );

deque < int > v;
long long k;
int i, n, sol[N];

int main()
{   f >> n >> k;
    for ( i = 1; i <= n; i++ )
        v.push_back ( i );
    for ( i = 1; i <= n; i++ ){
        int x = k - 1ll * ( n - i ) * ( n - i - 1 ) / 2;
        if ( x <= 0 ){
            sol[i] = v.front ( );
            v.pop_front ( );
        }
        else{
            sol[i] = v[x];
            v.erase ( v.begin ( ) + x );
            k -= x;
        }
    }
    for ( i = 1; i <= n; i++ )
        g << sol[i] << ' ';
    return 0;
}