Cod sursa(job #2578004)

Utilizator vlad082002Ciocoiu Vlad vlad082002 Data 10 martie 2020 12:12:00
Problema Farfurii Scor 70
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.83 kb
#include <fstream>
#include <iostream>
using namespace std;

ifstream fin("farfurii.in");
ofstream fout("farfurii.out");

bool used[100005];
int n, k, i;

void solve() {
    for(i = 1; i <= n; i++) {
        long long inv = 1LL*(n-i)*(n-i-1)/2;
        if(inv > k) {
            fout << i << ' ';
            used[i] = true;
        } else
            break;
    }

    for(;i <= n; i++) {
        long long inv = 1LL*(n-i)*(n-i-1)/2;
        long long smaller = 0;
        for(int j = 1; j <= n; j++)
            if(!used[j]) {
                if(smaller == k-inv) {
                    used[j] = true;
                    fout << j << ' ';
                    k = inv;
                    break;
                }
                smaller++;
            }
    }
}

int main() {
    fin >> n >> k;
    solve();
}