Cod sursa(job #2750873)

Utilizator Theo_FurtunaTheodor-Florentin Furtuna Theo_Furtuna Data 13 mai 2021 14:55:32
Problema Planeta Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <bits/stdc++.h>
using namespace std;
ifstream in("planeta.in");
ofstream out("planeta.out");
int n;
long long C[50], k, x, t;
void rezolva(int st, int dr, long long val)
{
	if (st > dr)
		return ;
    if (st == dr)
	{
		out << st << " ";
		return ;
	}
    int i;
	for (i = st;i <= dr; i++)
		 if (x + C[i - st] * C[dr - i] * val < k)
			 x += C[i - st] * C[dr - i] * val;
		 else
			 break;
	out << i << " ";
	rezolva(st, i - 1, val * C[dr - i]);
	rezolva(i + 1, dr, val);
}
int main()
{
	in >> n >> k;
	C[0] = 1;
	for (int i = 1; i <= n; i++)
	{
		t=0;
		for (int j = 0; j < i; j++)
			t += C[j] * C[i - 1 - j];
		C[i] = t;
	}
	rezolva(1, n, 1);
    in.close();
    out.close();
    return 0;
}