Cod sursa(job #165044)

Utilizator MarquiseMarquise Marquise Data 25 martie 2008 10:58:19
Problema Farfurii Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#include <stdio.h>
#include <math.h>


int N, K, M;


int main()
{
	int i, P, num;
	freopen("farfurii.in", "r", stdin);
	freopen("farfurii.out", "w", stdout);
	scanf("%d %d", &N, &K);

	M = sqrt(2 * N) + 1;
	P = (M - 1) * M / 2;

	if ( K == P)
	{
		for ( i = 1; i <= N - M; i++)
			printf("%d ", i);
		for ( i = N; i >= N - M + 1; i--)
			printf("%d ", i);
	}
	else
	{
		for ( i = 1; i <= N - M - 1; i++)
			printf("%d ", i);

		num = N - ( M * ( M+1) / 2 - K);
			printf("%d ", num);
		for ( i = N; i > num; i--)
			printf("%d ", i);

		for ( i = num - 1; i >= N - M; i--)
			printf("%d ", i);
	}

   return 0;
}