Cod sursa(job #70509)

Utilizator c_sebiSebastian Crisan c_sebi Data 6 iulie 2007 11:10:46
Problema Farfurii Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include <stdio.h>
#include <math.h>

int k;

int gen (){
	int i;
	for (i=1; i*(i-1)/2 < k ; ++i);
	return i;
}

/*int ec() {
	double x;
	x = (1 + sqrt(1+8*k))/2;
	if (x == (int)x)
		return x;
	else return (int)x + 1;
}*/

int main() {
	int x, i, val, n;
	FILE *f=fopen ("farfurii.in", "r");
	FILE *g=fopen ("farfurii.out", "w");
	fscanf (f, "%d %d", &n, &k);
	fclose(f);
	x=gen();
	val=x*(x-1)/2;
	for (i=1; i<=n-x; ++i)
		fprintf (g, "%d ", i);
	fprintf (g, "%d ", n-(val-k));
	for (i=n; i>n-x; --i) if (i!=n+k-val) fprintf (g, "%d ", i);
	fprintf (g, "\n");
	fclose(g);
	return 0;
}