Cod sursa(job #3134364)

Utilizator FMI_Mahalu_CiprianMahalu Ciprian FMI_Mahalu_Ciprian Data 28 mai 2023 22:19:08
Problema Farfurii Scor 80
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.92 kb
#include <iostream>
#include <string>
#include <vector>
#include <fstream>
#include <cmath>
using namespace std;
ifstream f("farfurii.in");
ofstream g("farfurii.out");

int main()
{
	int n, k, m = 0;
	f >> n >> k;
	//cin >> n >> k;
	while (k > (m * (m + 1) >> 1 ))
		m++;
	//cout << m << endl;
	if (k == ((m * (m + 1)) >> 1))
	{
		for (int i = 1;i <= n - m;i++)
		{
			g << i << " ";
			//cout << i << " ";
		}
		for (int i = n;i >= (n + 1 - m);i--)
		{
			g << i << " ";
			//cout << i << " ";
		}
	}
	if (k < ((m * (m + 1)) >> 1))
	{
		for (int i = 1;i < n - m;i++)
		{
			g << i << " ";
			//cout << i << " ";
		}
		int repetition= n - (((m * (m + 1)) >> 1) - k);
		g << n - (((m * (m + 1)) >> 1) - k) << " ";
		//cout << n - (((m * (m + 1)) >> 1) - k) << " ";
		for (int i = n;i >= n - m;i--)
		{
			if (i != repetition)
			{
				g << i << " ";
				//cout << i << " ";
			}
		}
	}
	return 0;
}