Cod sursa(job #2700900)

Utilizator Tudor06MusatTudor Tudor06 Data 29 ianuarie 2021 11:48:06
Problema Farfurii Scor 60
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <iostream>
#include <fstream>
#include <set>

using namespace std;

set <int> v;

int main() {
    ifstream fin( "farfurii.in" );
    ofstream fout( "farfurii.out" );
    int n, k, i, cnt;
    fin >> n >> k;
    for ( i = 1; i <= n; i ++ )
        v.insert( i );
    cnt = 0;
    while ( !v.empty() ) {
        cnt = ( v.size() - 2 ) * ( v.size() - 1 ) / 2;
        if ( cnt < k ) {
            auto it = v.begin();
            advance( it, k - cnt );
            k = cnt;
            fout << (*it);
            v.erase( it );
        } else {
            auto it = v.begin();
            fout << (*it);
            v.erase( it );
        }
        fout << ' ';
    }
    return 0;
}