Cod sursa(job #3331053)

Utilizator Andreea1501013Andreea Andreea1501013 Data 23 decembrie 2025 23:26:18
Problema Farfurii Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.72 kb
///problema farfurii infoarena
///rezolvare de
///generarea inversiunilor in ordine lexicografica
#include <bits/stdc++.h>

using namespace std;
vector<long long> inv;
void inversiuni(long long N,long long K)
{
    inv.clear();
    long long i=0,nr=N;
    while(nr-1<=K)
    {
        K-=(nr-1);
        inv.push_back(N-nr+1);
        i++;
        nr--;
    }
    inv.push_back(N-K);
    for(long long i=N;i>=N-nr+1;i--)
    {
        if(i!=N-K)
        {
            inv.push_back(i);
        }
    }
}
int main()
{
    long long N,K;

    cin>> N >> K;
    inversiuni( N, N*(N-1)/2-K );
    for(long long i=0; i<N; i++)
    {
        cout<<inv[i]<<' ';
    }
    cout<<'\n';


    return 0;
}