Cod sursa(job #316403)

Utilizator GheorgheMihaiMihai Gheorghe GheorgheMihai Data 19 mai 2009 14:45:50
Problema Farfurii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include<stdio.h>
long long n,k;
long v[100002];

void read()
{
	freopen("farfurii.in","r",stdin);
	freopen("farfurii.out","w",stdout);
	scanf("%lld%lld\n",&n,&k);
}

void rez()
{
	long long i,j,x;
	for(i=0;i<=n;i++)
		if(k==i*(i-1)/2)
		{
			for(j=1;j<=n-i;j++)
				printf("%lld ",j);
			for(j=n;j>=n-i+1;j--)
				printf("%lld ",j);
			return;
		}
		else
			if((k>i*(i-1)/2) && (k<(i+1)*i/2))
			{
				x=n-((i+1)*i/2-k);
				for(j=1;j<n-i;j++)
					printf("%lld ",j);
				printf("%lld ",x);
				for(j=n;j>=n-i;j--)
					if(j!=x)
						printf("%lld ",j);
			}
}

int main()
{
	read();
	rez();
	return 0;
}