Cod sursa(job #2922144)

Utilizator IvanAndreiIvan Andrei IvanAndrei Data 4 septembrie 2022 19:40:46
Problema Farfurii Scor 90
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.77 kb
#include <fstream>

using namespace std;

ifstream in ("farfurii.in");
ofstream out ("farfurii.out");

const int max_size = 1e5 + 1;

int a[max_size];

int main ()
{
    int n, k;
    in >> n >> k;
    int poz = n - 1;
    a[n] = 1;
    while (poz > 0 && k >= n - poz)
    {
        a[poz] = a[poz + 1] + 1;
        k -= n - poz;
        poz--;
    }
    int max1 = a[poz + 1];
    a[poz] = a[n - k] + n - max1 - 1;
    for (int i = poz + 1; i <= n; i++)
    {
        a[i] += n - max1;
    }
    for (int i = n - k + 1; i <= n; i++)
    {
        a[i]--;
    }
    for (int i = 1; i < poz; i++)
    {
        a[i] = i;
    }
    for (int i = 1; i <= n; i++)
    {
        out << a[i] << " ";
    }
    in.close();
    out.close();
    return 0;
}