Cod sursa(job #2624520)

Utilizator dariahazaparuHazaparu Daria dariahazaparu Data 4 iunie 2020 22:32:36
Problema Farfurii Scor 90
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <iostream>
#include <fstream>

std :: ifstream fin ("farfurii.in");
std :: ofstream fout ("farfurii.out");

int main() {

    int n, m, nr = 1;
    fin >> n >> m;
    while (nr * (nr + 1) / 2 <= m) nr++;
    /// nr este numarul pt care suma de la 1 la numar este cea mai mica mai mare decat numarul de tacamuri
    /// nr de inversiuni care e mai mare decat tacamurile
    for (int i = 1; i <= n - nr - 1; ++i) {
        fout << i << " ";
    }
    /// nr de farfurii fara a pune niciun tacam jos

    fout << n + m - nr * (nr + 1) / 2 << " ";
    /// numarul adus in fata
    /// se scade diferenta de care e nevoie pana la m
    for (int i = n; i >= n - nr ; --i) {
        if (i != n + m - nr * (nr + 1) / 2) fout << i << " ";
    }
    /// restul de farfurii in ordine inversa
    return 0;
}