Cod sursa(job #503293)

Utilizator gabipurcaruGabi Purcaru gabipurcaru Data 22 noiembrie 2010 13:16:02
Problema Farfurii Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.79 kb
// infoarena: problema/farfurii //
#include <fstream>
using namespace std;

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

unsigned int n,k,i,m,x[100010],q;

int main()
{
	in>>n>>k;
	for(i=0; i*(i+1)/2 < k; i++);
	m=i;
	
	if(m*(m-1)/2 == k)
	{
		for(i=1; i<=n-m; i++)
			out<<i<<' ';
		for(i=n; i>=n-m+1; i--)
			out<<i<<' ';
		return 0;
	}
	
	/*for(i=1; i<=n-m; i++)
		x[++x[0]] = i;
	for(i=n; i>n-m; i--)
		x[++x[0]] = i;*/
	
	for(i=1; i<=n-m-1; i++)
		out<<i<<' ';
	out<<n-(m*(m+1)/2-k)<<' ';
	for(q=n; q>=n-m; q--)
		if(q != n-(m*(m+1)/2-k))
			out<<q<<' ';
	
	/*for(i=1; i<=n; i++)
		if(i == n-m)
			out<<n-(m*(m+1)/2-k)<<' ';//<<' '<<x[i]<<' ';
		else if(x[i] == n-(m*(m+1)/2-k))
			continue;
		else
			out<<x[i]<<' ';
	out<<x[n-m];*/
	
	return 0;
}