Cod sursa(job #621975)

Utilizator maritimCristian Lambru maritim Data 17 octombrie 2011 00:27:45
Problema Farfurii Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.49 kb
#include<stdio.h>

#define MaxN 100100
#define ll unsigned long long

ll N,NRI = 0,NRS,M,A[MaxN],i=0;

int main()
{
	FILE *f = fopen("farfurii.in","r");
	FILE *g = fopen("farfurii.out","w");
	
	fscanf(f,"%d %d",&N,&M);
	NRS = N+1;
	while(++i<=N)
		if((N-i)%2 == 0 ? 1LL*((N-i)/2)*(N-i-1) < M : 1LL*((N-i-1)/2)*(N-i) < M)
		{
			A[--NRS] = i;
			M -= N-i;
		}
		else
			A[++NRI] = i;
	i = 0;
	while(++i<=N)
		fprintf(g,"%d ",A[i]);
	
	fclose(g);
	fclose(f);
	return 0;
}