Pagini recente » Cod sursa (job #141138) | Cod sursa (job #1854712) | Cod sursa (job #2805372) | Profil Craioveanu_V_Cristian_322CB | Cod sursa (job #29246)
Cod sursa(job #29246)
#include<stdio.h>
#include<math.h>
long n,k,m,i,j,p;
int main()
{freopen("farfurii.in","r",stdin);
freopen("farfurii.out","w",stdout);
scanf("%ld %ld",&n,&k);
for(p=1;p<n;p=p*2);
for(m=0;p>0;p/=2
if(m+p<=n&&(m+p)*(m+p-1)<=2*k)) m+=p;
k=k-m*(m-1)/2;
if(!k){
for(i=1;i<=n-m;i++)
printf("%ld ",i);
for(i=n;i>n-m;i--)
printf("%ld ",i);}
else {k=m-k;m++;
for(i=1;i<=n-m;i++)
printf("%ld ",i);
printf("%ld ",n-k);
for(i=n;i>n-m;i--)
if(i!=n-k) printf("%ld ",i);}
putchar ('\n');
fclose(stdout);
return 0;}