Pagini recente » Cod sursa (job #3342602) | Cod sursa (job #3331380) | Cod sursa (job #3338377) | Cod sursa (job #3331052) | Cod sursa (job #3331053)
///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;
}