Cod sursa(job #2922502)

Utilizator IvanAndreiIvan Andrei IvanAndrei Data 8 septembrie 2022 18:29:46
Problema Farfurii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.82 kb
#include <fstream>

using namespace std;

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

const int max_size = 1e5 + 1;

long long a[max_size];

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