Mai intai trebuie sa te autentifici.

Cod sursa(job #516538)

Utilizator strontzostrontzo strontzo Data 24 decembrie 2010 17:50:58
Problema Farfurii Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.92 kb
#include <iostream>
#include <fstream>

using namespace std;

const char iname[] = "farfurii.in";
const char oname[] = "farfurii.out";

using namespace std;

ifstream fin(iname);
ofstream fout(oname);

int ap[100005], n, k, i;

int main()
{
	fin >> n >> k;
	for(i = 1; i <= n; i ++)
	{
		if((n - i) * (n - i - 1) / 2 >= k && (n - i + 1) * (n - i) / 2 >= k)
		{
			fout << i << " ";
			ap[i] = 1;
		}
		else
		{	
			if(k < (n - i) * (n - i + 1) / 2)
			{
				fout << i + (n - i) * (n - i + 1) / 2 - k << " ";
				ap[i + (n - i) * (n - i + 1) / 2 - k] = 1;
				break;
			}
			else
				if(k > (n - i) * (n - i + 1) / 2)
				{
					fout << i + k - (n - i) * (n - i + 1) / 2  << " ";
					ap[i + (n - i) * (n - i + 1) / 2 - k] = 1;
					break;
				}
			else	
			{
				fout << n << " ";
				ap[n] = 1;
				break;
			}
		}
	}
	for(i = n; i >= 1; i --)
		if(ap[i] == 0)
			fout << i << " ";
	return 0;
}