Cod sursa(job #432638)

Utilizator drywaterLazar Vlad drywater Data 2 aprilie 2010 16:11:21
Problema Farfurii Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.52 kb
#include <stdio.h>
#include <math.h>
int main(void)
{
	FILE *f=fopen("farfurii.in","r"),*g=fopen("farfurii.out","w");
	int i,n,poz;
	long long k;
	fscanf(f,"%d%lld",&n,&k);
	int p;
	p=(int)sqrt(2*k);
	p++;
	while (p*(p-1)<2*k)
		p++;
	poz=n-p+1+(p*(p-1))/2-k;
	i=1;
	while (i<=n)
	{
		if (n-i-p==-1)
			fprintf(g,"%d ",n-poz+1+n-p);
		else
		{
		if (n-i-p<0) if (i<=poz)fprintf(g,"%d ",n-i+1+n-p+1); else fprintf(g,"%d ",n-i+n-p+1);
		else fprintf(g,"%d ",i);
		}
		
		i++;
	}
	fclose(g);
	return 0;
}