Cod sursa(job #3133600)

Utilizator dariutTache Daria dariut Data 26 mai 2023 11:35:55
Problema Farfurii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <fstream>

using namespace std;

typedef long long lng;

lng inv;
int n, vec[100005];

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

    fin >> n >> inv;
    
    vec[n] = 1;
    int poz = n - 1;
    
    while (inv >= (n - poz) && poz >= 1)
    {
        vec[poz] = vec[poz + 1] + 1;
        inv -= n - poz;
        poz--;
    }
    int valmax = vec[poz + 1];

    
    vec[poz] = vec[n - inv] + n - valmax - 1;
    for (int i = poz + 1; i <= n; i++)
        vec[i] += n - valmax;
    
    for (int i = n - inv + 1; i <= n; i++)
        vec[i]--;
    
    for (int i = 1; i < poz; i++)
        vec[i] = i;
    
    for (int i = 1; i <= n; i++)
        fout << vec[i] << ' ';
    return 0;
}