Cod sursa(job #23061)

Utilizator the1dragonIonita Alexandru the1dragon Data 27 februarie 2007 23:20:30
Problema Farfurii Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include<stdio.h>
#include<math.h>

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