Cod sursa(job #1244964)

Utilizator alex_bucevschiBucevschi Alexandru alex_bucevschi Data 18 octombrie 2014 14:29:46
Problema Farfurii Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <cstdio>
#include <cmath>

using namespace std;
long long i,n,m,k,x,y,N;
bool ok,q;
int main()
{
    int n,k;
    freopen("farfurii.in","r",stdin);
    freopen("farfurii.out","w",stdout);
    scanf("%lld",&n);
    N=n;
    scanf("%lld",&k);
    n=N;
    for(i=1;i*(i-1)<=k*2;i++);
    m=i;
    if(m*(m-1)>2*k)m--;
    if(k==m*(m-1)/2)
    {
        for(i=1;i<=n-m;i++)
            printf("%lld ",i);
        for(i=n;i>=n-m+1;i--)
             printf("%lld ",i);
    }
    if(k>m*(m-1)/2)
    {
        for(i=1;i<=n-m-1;i++)
            printf("%lld ",i);
        x=n-((((m)*(m+1))/2)-k);
        printf("%lld ",x);
        for(i=n;i>=n-m;i--)
            i==x?printf("%lld ",--i):printf("%lld ",i);
    }
    return 0;
}