Cod sursa(job #2616601)

Utilizator rusuandrei32Rusu Andrei-Cristian rusuandrei32 Data 19 mai 2020 00:49:00
Problema Farfurii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.93 kb
#include <bits/stdc++.h>
using namespace std;

#define itr(type, i, s, d) for (type i = s; i < d; ++i)
#define itrr(i, s, d) for (register int i = s; i < d; ++i)
#define pb(i) push_back(i)
#define IO ios_base :: sync_with_stdio(false); \
cin.tie(nullptr);
#define vi vector <int>
#define show(v) \
cout << "Debug:\n"; \
for (auto it = v.begin(); it != v.end(); ++it) \
	cout << *it << " "; \
cout << "\n";
#define vitr(v, it) \
for (auto it = v.begin(); it != v.end(); ++it)

typedef long long ll;

int main() {
	IO;
	freopen("farfurii.in", "r", stdin);
	freopen("farfurii.out", "w", stdout);

	ll N, K, t = 1, num;

	scanf("%lld %lld", &N, &K);

	while ((t * (t - 1)) >> 1 < K)
		++t;

	t = N - t;

	itrr(i, 1, t + 1)
		printf("%d ", i);

	++t;

	num = N - (N - t) * (N - t + 1) / 2 + K;


	printf("%lld ", num);

	for (ll i = N; i >= t; --i)
		if (i != num)
			printf("%lld ", i);

	return 0;

}