Cod sursa(job #1076921)

Utilizator lorundlorund lorund Data 10 ianuarie 2014 18:39:48
Problema Farfurii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <cstdio>

int main()
{
    long long n, m;

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

    while (scanf("%lld %lld", &n, &m) && n>0){
        long long i, nu;
        bool spc=0;

        for (i=1; (n-i)*(n-i-1)/2>=m && i<=n; ++i){
            printf("%s%lld",  spc ? " " : "", i);
            spc = 1;
        }
        if (i<=n){
            nu=n-((n-i+1)*(n-i)/2-m);
            printf("%s%d",  spc ? " " : "", nu);
            spc = 1;
            for (int j=n; j>=i; --j){
                if (j!=nu){
                    printf("%s%lld",  spc ? " " : "", j);
                    spc = 1;
                }
            }
        }
        puts("");
    }
    return 0;
}