Cod sursa(job #516503)

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

int n,k,m,i;

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