Cod sursa(job #360456)

Utilizator Anamaria20Cotirlea Anamaria Anamaria20 Data 31 octombrie 2009 16:20:51
Problema Farfurii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <stdio.h>
#include <math.h>

FILE *f,*s;

long long int m,n,k,i;

int main()
{
	f=fopen("farfurii.in","r");
	s=fopen("farfurii.out","w");
	
	fscanf(f,"%lld %lld",&n,&k);
	
	for(i=1;i*i<=k*2;i++)
		m=i;
	
	while(m*(m+1)<k*2)
		m++;
	
	k-=(m*(m-1)/2);
	
	if(k==0)
	{
		for(i=1;i<=n-m;i++)
			fprintf(s,"%lld ",i);
		
		fprintf(s,"%lld",n);
		
		for(i=n-1;i<=n-m+1;i++)
			fprintf(s,"%lld ",i);
	}	
	else
	{
		k=m-k;
		
		m++;
		
		for(i=1;i<=n-m;i++)
			fprintf(s,"%lld ",i);

		fprintf(s,"%lld ",n-k);
		
		for(i=n;i>n-k;i--)
			fprintf(s,"%lld ",i);
		
		for(i=n-k-1;i>n-m;i--)
			fprintf(s,"%lld ",i);
	}	
	
	fclose(s);
	
	return 0;
}