Pagini recente » Cod sursa (job #1088764) | Cod sursa (job #1983363) | Cod sursa (job #2574294) | Cod sursa (job #1721385) | Cod sursa (job #518868)
Cod sursa(job #518868)
#include <stdio.h>
#define aux M*(M-1)/2
int N,M,i,x;
long long K;
int BS(int L,int R)
{
int M=(L+R)/2;
if(L==R) return R;
if(aux<K) return BS(M+1,R);
else return BS(L,M);
}
int main()
{
freopen("farfurii.in","r",stdin);
freopen("farfurii.out","w",stdout);
scanf("%d%d",&N,&K);
M=BS(1,N);
if(aux==K)
{
for(i=1;i<=N-M;i++)
printf("%d ",i);
for(i=0;i<M;i++)
printf("%d ",N-i);
printf("\n");
}
else
{
x=aux-K;
for(i=1;i<=N-M;i++)
printf("%d ",i);
printf("%d ",N-x);
for(i=0;i<M;i++)
if(i!=x) printf("%d ",N-i);
printf("\n");
}
return 0;
}