Cod sursa(job #70503)

Utilizator c_sebiSebastian Crisan c_sebi Data 6 iulie 2007 11:04:24
Problema Farfurii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.53 kb
#include <stdio.h>
#include <math.h>

int k;

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=ec();
	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 (f, "\n");
	fclose(g);
	return 0;
}