Cod sursa(job #1082817)

Utilizator andreivFMI - vacaroiu andrei andreiv Data 14 ianuarie 2014 22:22:58
Problema Farfurii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.53 kb
#include <cstdio>
#include <cmath>
int main()
{long long  n,k,i,q,x;

 freopen("farfurii.in","r",stdin);
 freopen("farfurii.out","w",stdout);
 scanf("%lld %lld",&n,&k);
 q=(int)sqrt(2*k);
 if (k==q*(q+1)/2)
  {for (i=1;i<n-q;++i) printf("%lld ",i);
   for (i=n;i>=n-q;--i) printf("%lld ",i);
  } else
  {
      while (q*(q+1)<2*k) ++q;
       for (i=1;i<n-q;++i) printf("%lld ",i);
       x=(q*(q+1))/2-k;
       printf("%lld ",n-x);
       for (i=n;i>n-x;--i) printf("%lld ",i);
       for (i=n-x-1;i>=n-q;--i) printf("%lld ",i);
   }
return 0;}