Cod sursa(job #185489)

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