Cod sursa(job #3132495)

Utilizator Alexandra789Alexandra Uceanu Alexandra789 Data 22 mai 2023 21:25:34
Problema Farfurii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.8 kb
#include <iostream>
#include <fstream>

int main(){
    std::ifstream f("farfurii.in");
    std::ofstream g("farfurii.out");

    long long n, k;
    f >> n >> k;

    // De farfuriile astea n avem nevoie ca sa atingem nr de inversiuni
    long long farfurie = 1;
    while(k <= (n - farfurie) * (n - farfurie - 1) / 2){
        g << farfurie << ' ';
        ++farfurie;
    }

    --farfurie;
    // Daca avem numar in plus de inversiuni mai scoatem o farfurie
    long long max = (n - farfurie) * (n - farfurie - 1) / 2;

    long long farfurie2 = n - max + k;
    g << farfurie2 << ' ';

    // Afisam farfuriile ramase in ordine descrescatoare
    for(long long i = n; i > farfurie; i--)
        if(i != farfurie2)
            g << i << ' ';

    std::cout << "ok\n";
    return 0;
}