Cod sursa(job #516504)

Utilizator Magnuscont cu nume gresit sau fals Magnus Data 24 decembrie 2010 14:16:53
Problema Farfurii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <stdio.h>

long long n,k,m,i;

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