Cod sursa(job #503294)

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

FILE *in=fopen("farfurii.in","r"), *out=fopen("farfurii.out", "w");

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

int main()
{
	fscanf(in, "%d %d", &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++)
			fprintf(out,"%d ",i);
		for(i=n; i>=n-m+1; i--)
			fprintf(out,"%d ",i);
		return 0;
	}
	
	for(i=1; i<=n-m-1; i++)
		fprintf(out,"%d ",i);
	fprintf(out,"%d ",n-(m*(m+1)/2-k));
	for(q=n; q>=n-m; q--)
		if(q != n-(m*(m+1)/2-k))
			fprintf(out,"%d ",q);
	
	return 0;
}