Cod sursa(job #2107822)

Utilizator iordache.bogdanIordache Ioan-Bogdan iordache.bogdan Data 17 ianuarie 2018 18:50:03
Problema Farfurii Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.57 kb
#include <iostream>
#include <cstdio>
#include <cassert>
using namespace std;

int main() {
    assert(freopen("farfurii.in", "r", stdin));
    assert(freopen("farfurii.out", "w", stdout));

    int N, K;
    cin >> N >> K;

    int S = 1;
    while (S * (S - 1) / 2 < K)
        ++S;

    int diff = S * (S - 1) / 2 - K;
    int swap_value = N - diff;

    for (int i = 1; i <= N - S; ++i)
        printf("%d ", i);
    printf("%d ", swap_value);
    for (int i = N; i >= N - S + 1; --i)
        if (i != swap_value)
            printf("%d ", i);
    printf("\n");

    return 0;
}