Cod sursa(job #2902081)

Utilizator andlftLefter Andrei andlft Data 15 mai 2022 15:46:11
Problema Farfurii Scor 90
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <iostream>
#include <fstream>
using namespace std;

int main()
{
    ifstream fin ("farfurii.in");
    ofstream fout ("farfurii.out");

    int n,k;
    fin>>n>>k;

    int i = 0;
    while(k > i*(i+1)/2)
    {
        i++;  //lungime subsir descrescator + 1
    }
    for(int j = 1; j < n-i; j++)
    {
        fout<<j<<" "; //numerele de la inceput raman la fel, pt aranjarea lexicografica
    }
    i--; //lungimea reala a sirului descrescator
    int nr_inv = i*(i+1)/2;
    int nr_completare_inv = n - i + k - nr_inv - 1;// nr pus in fata subsirului desc pt inversiuni extra
    fout<< nr_completare_inv <<" ";
    for(int j = 0; j < i+2 ; j++)
    {
        if(n - j != nr_completare_inv)
        {
            fout<<n-j<<" ";
        }
    }



    return 0;
}