Cod sursa(job #503296)

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

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

long long n,k,i,m,x[100010],q;

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