Cod sursa(job #2755345)

Utilizator SebicaPGLSebastian Ionel SebicaPGL Data 26 mai 2021 23:56:52
Problema Farfurii Scor 100
Compilator cpp-64 Status done
Runda Teme Pregatire ACM Unibuc 2013 Marime 0.76 kb
#include <iostream>
#include <fstream>

// ok hai sa mai eficientizam atunci daca tot imi da 90p
long long n, k, invers;

int main()
{


    std::ifstream f("farfurii.in");
    std::ofstream o("farfurii.out");

    f >> n >> k;
    invers = 0;

    // calculam numarul de inversiuni, dupa care afisam cele n - invers numere care nu fac nici o inv.

    while(invers * (invers + 1)/2 <= k){
        invers++;
    }

    for(int i = 1; i <= n - invers - 1; i++){
        o << i << " ";
    }
    // dupa care scapam de inversiunile in plus
    o << n + k - (invers* (invers + 1) / 2) << " ";
    for(int i = n; i >= n - invers; i--){
        if(i != n + k - (invers * (invers + 1) / 2)){
            o << i << " ";
        }
    }

    return 0;
}