Cod sursa(job #2613462)

Utilizator AlexandruabcdeDobleaga Alexandru Alexandruabcde Data 9 mai 2020 20:10:48
Problema Farfurii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <fstream>

using namespace std;

ifstream f ("farfurii.in");
ofstream g ("farfurii.out");

int N, M;

long long K;

void Read ()
{
    f >> N >> K;

    M = 1;

    while (1LL * M * (M-1) / 2 < K) ++M;
}

void Case_1 ()
{
    for (int i = 1; i <= N-M; ++i)
        g << i << " ";

    for (int i = N; i > N-M; --i)
        g << i << " ";
}

void Case_2 ()
{
    for (int i = 1; i <= N-M; ++i)
        g << i << " ";

    g << N - (1LL * M * (M - 1) / 2 - K) << " ";

    for (int i = N; i >= N-M-1; --i)
        if (i != N - (1LL * M * (M - 1) / 2 - K)) g << i << " ";
}

int main ()
{
    Read();

    if (M * (M - 1) / 2 == K) Case_1();
    else Case_2();

    return 0;
}