Pagini recente » Cod sursa (job #437954) | Cod sursa (job #24046) | Cod sursa (job #2536344) | Cod sursa (job #2204954) | Cod sursa (job #1868694)
#include <fstream>
using namespace std;
ifstream in ("farfurii.in");
ofstream out ("farfurii.out");
unsigned long long n,k,st,smax,indice,fr[100005];
void Read()
{
in>>n>>k;
}
void Solve()
{
st=1;
for (int i=1;i<=n;i++)
{
smax=(n-i)*(n-i-1)/2;
if (smax>=k)
{
while(1==1)
{
if (!fr[st])
{
fr[st]++;
out<<st<<' ';
break;
}
st++;
}
}
else
{
indice=k-smax;
int j=st;
while (indice)
{
if (!fr[j])
{
indice--;
}
j++;
}
fr[j]++;
out<<j<<' ';
i=n+1;
}
}
}
void Write()
{
for (int i=n;i>=1;i--)
if (!fr[i])
out<<i<<' ';
}
int main()
{
Read();
Solve();
Write();
return 0;
}