Cod sursa(job #1074881)

Utilizator GaborGabrielFMI - GabrielG GaborGabriel Data 8 ianuarie 2014 01:33:14
Problema Farfurii Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.77 kb
#include <fstream>
using namespace std;

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

int main()
{
	int i = 0, j, nu, N;
	long long sum, K;

	f >> N >> K;

	sum = (N * (N - 1)) / 2;
	if (sum == K)
	{
		for (j = N; j >= 1; --j)
			g << j << ' ';
	}
	else
	{
		while (++i <= N)
		{
			sum = ((N - i) * (N - i - 1)) / 2;
			if (sum <= K && sum > 0)
			{
				if (sum == K)
				{
					g << i << ' ' << N << ' ';

					for (j = N - 1; j > i; --j)
						g << j << ' ';
				}
				else
				{
					sum = ((N - i + 1) * (N - i)) / 2;
					nu = N - (sum - K);
					g << nu << ' ' << N << ' ';

					for (j = N - 1; j >= i; --j)
					if (j != nu)
						g << j << ' ';
				}

				i = N + 3;
			}
			else
				g << i << ' ';
		}
	}

	return 0;
}