Cod sursa(job #360451)

Utilizator Anamaria20Cotirlea Anamaria Anamaria20 Data 31 octombrie 2009 16:02:14
Problema Farfurii Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <stdio.h>
#include <math.h>

FILE *f,*s;

int m,n,k,i;

int main()
{
	f=fopen("farfurii.in","r");
	s=fopen("farfurii.out","w");
	
	fscanf(f,"%d %d",&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,"%d ",i);
		
		fprintf(s,"%d",n);
		
		for(i=n-1;i<=n-m+1;i++)
			fprintf(s,"%d ",i);
	}	
	else
	{
		k=m-k;
		
		m++;
		
		for(i=1;i<=n-m;i++)
			fprintf(s,"%d ",i);

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