Cod sursa(job #590591)

Utilizator paul_gabryelPaul Buda paul_gabryel Data 18 mai 2011 18:04:53
Problema Farfurii Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.5 kb

#include <cstdio>
#include <fstream>

using namespace std;

int v[131072];

int main ()
{
	
	ifstream in ("farfurii.in");
	freopen ("farfurii.out","w",stdout);
	int n,k;
	in>>n>>k;
	long long m=1,x,a;
	for(bool g=1;g;){
		g=0;
		x=(n-m)*(n-m-1)>>1;
		if(x>k){
			v[m]=m;
			g=1;
			}
		else{
			v[m]=m+k-x;
			x=v[m];
			a=n;
			for(int i=m+1;i<=n;++i)
				if(x==a){
					v[i]=--a;
					--a;
					}
				else{
					v[i]=a;
					--a;
					}
			}
			++m;
		}
	for(int i=1;i<=n;++i)
		printf("%d ",v[i]);
	
	return 0;}