Cod sursa(job #185487)

Utilizator andrei-alphaAndrei-Bogdan Antonescu andrei-alpha Data 25 aprilie 2008 15:07:36
Problema Farfurii Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 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;i<=K;++i)
	{
		if(K==i*(i-1)/2)
		{
			for(int j=1;j<=N-i;++j)
				printf("%d ",j);
			for(int j=N;j>=N-i+1;--j)
				printf("%d ",j);
			return;
		}	
		if(K<i*(i-1)/2)
			break;
		if(K>i*(i-1)/2 && K<i*(i+1)/2)
		{
			for(int j=1;j<=N-i-1;++j)
				if(j!=N-((i+1)*i/2-K) )
					printf("%d ",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);
		}	
	}	
	
}
int main()
{
	read();
	solve();
	return 0;
}