Cod sursa(job #2300684)

Utilizator flibiaVisanu Cristian flibia Data 11 decembrie 2018 21:11:08
Problema Farfurii Scor 90
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.51 kb
#include <bits/stdc++.h>

using namespace std;

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

int n, k, sol[100100];

int main() {
	in >> n >> k;
	int p = 1;
	for (int i = n; i > 0; i--)
		if (i * (i - 1) / 2 >= k) 
			p = i;
	for (int i = 1; i <= n - p; i++)
		sol[i] = i;
	int cnt = n;
	for (int i = n - p + 1; i <= n; i++)
		sol[i] = cnt--;
	for (int i = n - p + 1 - k + p * (p - 1) / 2; i > n - p + 1; i--)
		swap(sol[i], sol[i - 1]);
	for (int i = 1; i <= n; i++)
		out << sol[i] << ' ';
	return 0;
}