Cod sursa(job #710313)

Utilizator a_h1926Heidelbacher Andrei a_h1926 Data 9 martie 2012 14:14:14
Problema Farfurii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.56 kb
#include <cstdio>

using namespace std;

int N, K;

void Solve ()
{
    freopen ("farfurii.out", "w", stdout);
    int P;
    for (P=1; P*(P-1)/2<=K; ++P); --P;
    K-=(P*(P-1)/2);
    P=N-P;
    for (int i=1; i<P; ++i) printf ("%d ", i);
    int NewP=N-P-1+K;
    int X=N;
    for (int i=P; i<=N; ++i)
    {
        if (i==NewP) printf ("%d ", P);
        else printf ("%d ", X--);
    }
}

void Read ()
{
    freopen ("farfurii.in", "r", stdin);
    scanf ("%d %d", &N, &K);
}

int main()
{
    Read ();
    Solve ();
    return 0;
}