Cod sursa(job #29215)

Utilizator razvi9Jurca Razvan razvi9 Data 8 martie 2007 19:44:06
Problema Farfurii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.42 kb
#include<stdio.h>
#include<math.h>
int n,k,m,i,j;
int main()
{freopen("farfurii.in","r",stdin);
 freopen("farfurii.out","w",stdout);
 scanf("%d %d",&n,&k);
 for(int p=1;p<n;p*=2);
 for(m=0;p>0;p/=2)
  if(m+p<=n&&(m+p)*(m+p-1)<=2*k)
	  m=m+p;
 k=k-m*(m-1)/2;
 for(i=1;i<n-m;i++)
  printf("%d ",i);
 if(m!=0){ 
 printf("%d ",n-k);
 for(i=n;i>=n-m;i--)
  if(i!=n-k) printf("%d ",i);}
 fclose(stdout);
 return 0;}