Cod sursa(job #185493)

Utilizator andrei-alphaAndrei-Bogdan Antonescu andrei-alpha Data 25 aprilie 2008 15:16:27
Problema Farfurii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#include <stdio.h>
long long N,K;
void read()
{
	freopen("farfurii.in", "r",stdin);
	freopen("farfurii.out", "w",stdout);
	scanf("%lld%lld", &N,&K);
}	
void solve()
{
	for(long long i=1;K>=i*(i-1)/2;++i)
	{
		if(K==i*(i-1)/2)
		{
			for(long long j=1;j<=N-i;printf("%lld ",j),++j);
			for(long long j=N;j>=N-i+1;printf("%lld ",j),--j);
			return;
		}	
		if(K<i*(i+1)/2)
		{
			for(long long j=1;j<=N-i-1;printf("%lld ",j),++j);
			printf("%lld ",N-((i+1)*i/2-K) );
			for(long long j=N;j>=N-i;--j)
				if(j!=N-((i+1)*i/2-K) )
					printf("%lld ",j);
			return;	
		}	
	}	
	
}
int main()
{
	read();
	solve();
	return 0;
}