Cod sursa(job #423774)

Utilizator loginLogin Iustin Anca login Data 24 martie 2010 11:53:26
Problema Farfurii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.54 kb
# include <fstream>
using namespace std;
long long n, k;
int v[100003];

void solve ()
{
	int poz=1, p, gata=0, nr;
	while (!gata)
	{
		gata=1;
		p=(n-poz)*(n-poz-1)/2;
		if (p>k)
			v[poz]=poz, gata=0;
		else
		{
			v[poz]=poz+k-p;
			p=v[poz];
			nr=n;
			for(int i=poz+1;i<=n;i++)
				if (nr!=p)
					v[i]=nr--;
				else
					v[i]=--nr, nr--;
		}
		++poz;
	}
}

int main ()
{
	ifstream fin ("farfurii.in");
	ofstream fout ("farfurii.out");
	fin>>n>>k;
	solve ();
	for (int i=1;i<=n;i++)
		fout<<v[i];
	return 0;
}