Pagini recente » Cod sursa (job #521994) | Cod sursa (job #674127) | Cod sursa (job #1632955) | Cod sursa (job #2844308) | Cod sursa (job #2701281)
#include <fstream>
using namespace std;
ifstream f("farfurii.in");
ofstream g("farfurii.out");
long long n, k, l = 1;
long long getNr(long long nr)
{
return nr * (nr-1) / 2;
}
long long cautaBinar(long long nr)
{
long long log = l, j = 0;
for(; log; log>>=1)
if(log + j <= n && getNr(log + j) <= nr)
j+=log;
return j;
}
void read()
{
f>>n>>k;
while(l < n)
l<<=1;
}
void solve()
{
long long p = cautaBinar(k);
long long i = 1;
for(; i<n - p; i++)
g<<i<<" ";
long long number = i + k - getNr(p);
g<<number<<" ";
for(int j = n; j >= i; j--)
{
if(number != j)
g<<j<<" ";
}
}
int main()
{
read();
solve();
return 0;
}