Pagini recente » Cod sursa (job #1313988) | Cod sursa (job #2575394) | Cod sursa (job #1860392) | Cod sursa (job #2878118) | Cod sursa (job #2752251)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("farfurii.in");
ofstream g("farfurii.out");
int main()
{
long long int n, k;
long long inv, first;
f>>n>>k;
for(int i=1;i<=n;++i)
{
/// inv = nr de inversiuni daca inversez intervalul [i+1,n];
inv = (n-i)*(n-i-1)/2;
if(inv >= k)
{
g<<i<<' ';
}
else
{
/// nr pe care il iau din [n,i] si il pun in fata sirului
first = n - (k - inv);
g<<first<<' ';
for(long long int j=n; j>first; --j)
g<<j<<' ';
for(long long int j= first-1; j>=i ;--j)
g<<j<<' ';
break;
}
}
return 0;
}