Cod sursa(job #432561)

Utilizator drywaterLazar Vlad drywater Data 2 aprilie 2010 15:28:58
Problema Farfurii Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.46 kb
#include <stdio.h>
int i,n,v[100001],poz,au,k;
FILE *f=fopen("farfurii.in","r"),*g=fopen("farfurii.out","w");
int main(void)
{
	fscanf(f,"%d%d",&n,&k);
	int p;
	p=1;
	while ((p*(p-1))/2<k) p++;
	poz=n-p+1+(p*(p-1))/2-k;
	for (i=1;i<=n;i++)
	{
		if (n-i-p<0) v[i]=n-i+n-p+1;
		else v[i]=i;
	}
	while (v[poz]<v[poz-1])
	{
		au=v[poz];
		v[poz]=v[poz-1];
		v[poz-1]=au;
		poz--;
	}
	for (i=1;i<=n;i++)
		fprintf(g,"%d ",v[i]);
	fclose(g);
	return 0;
}