Pagini recente » Cod sursa (job #102245) | Cod sursa (job #2538786) | Cod sursa (job #2786194) | Cod sursa (job #1991860) | Cod sursa (job #2701280)
#include <fstream>
using namespace std;
ifstream f("farfurii.in");
ofstream g("farfurii.out");
int n, k, l = 1;
int getNr(int nr)
{
return nr * (nr-1) / 2;
}
int cautaBinar(int nr)
{
int 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()
{
int p = cautaBinar(k);
int i = 1;
for(; i<n - p; i++)
g<<i<<" ";
int 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;
}