Cod sursa(job #29563)

Utilizator marcelcodreaCodrea Marcel marcelcodrea Data 9 martie 2007 16:03:42
Problema Farfurii Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.48 kb
#include<stdio.h>
#include<math.h>
long long n,k,rad,a[100003],i,j,dif,aux;
int main()
{
 freopen("farfurii.in","r",stdin);
 freopen("farfurii.out","w",stdout);
 scanf("%lld %lld",&n,&k);
 rad=sqrt(2*k);
 dif=(rad*(rad+1))/2-k;
 for(i=1;i<=n-rad-1;i++)
 a[i]=i;
 a[n-rad]=n;
 for(j=n-rad+1;j<=n;j++)
   a[j]=a[j-1]-1;
 aux=a[n-rad+dif];
 for(i=n-rad+dif;i>n-rad;i--)
  a[i]=a[i-1];
 a[n-rad]=aux;
 for(i=1;i<=n;i++)
  printf("%lld ",a[i]);
 printf("\n");
 return 0;
}