Cod sursa(job #3331054)

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

using namespace std;
vector<int> inv;
void inversiuni(int N,long long K)
{
    inv.clear();
    int 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(int i=N;i>=N-nr+1;i--)
    {
        if(i!=N-K)
        {
            inv.push_back(i);
        }
    }
}
int main()
{
    long long K;
    int N;
    ifstream cin("farfurii.in");
    ofstream cout("farfurii.out");
    cin>> N >> K;
    inversiuni( N, 1ll*N*(N-1)/2-K );
    for(int i=0; i<N; i++)
    {
        cout<<inv[i]<<' ';
    }
    cout<<'\n';


    return 0;
}