Cod sursa(job #121568)

Utilizator pandaemonAndrei Popescu pandaemon Data 8 ianuarie 2008 23:21:27
Problema Farfurii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.58 kb
#include<stdio.h>
#include<iostream.h>
#include<math.h>

long long n,k,i,m,rad2; long double rad;

int caz1()
{m=(1+rad2)/2;
for(i=1;i<=n-m;i++) printf("%lld ",i);
for(i=n;i>n-m;i--) printf("%lld ",i);}

int caz2()
{m=(1+rad2)/2; long long elem;
 for(i=1;i<=n-m-1;i++) printf("%lld ",i);
 elem=n-(m*(m+1)/2-k); printf("%lld ",elem);
 for(i=n;i>=n-m;i--) if(i!=elem) printf("%lld ",i);}

main()
{freopen("farfurii.in","r",stdin);
 freopen("farfurii.out","w",stdout);

 scanf("%lld %lld",&n,&k);

 rad=sqrt(1+8*k); rad2=rad;  

 if(rad==rad2) caz1();
 else caz2();

}