Cod sursa(job #531585)

Utilizator mihaipopa12Popa Mihai mihaipopa12 Data 9 februarie 2011 22:03:33
Problema Farfurii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include<stdio.h>

FILE*f=fopen("farfurii.in","r");
FILE*g=fopen("farfurii.out","w");

int i,ps,j,R[100005];
char viz[100005];
unsigned long long nrinv,n,k;

int main () {
	fscanf(f,"%lld %lld",&n,&k);
	
	for ( i = 1 ; i <= n ; ++i ){
		nrinv = 1LL * (n-i ) * ( n - i -1 ) / 2;
		if ( nrinv < k ){
			R[i] = i + k - nrinv;
			viz[i + k - nrinv] = 1;
			ps = i;
			break;
			
		}
		else{
			R[i] = i;
			viz[i] = 1;
		}
	}
	j = i;
	for ( i = n ; i >= 1 ; --i ){
		if ( viz[i] )	continue;
		R[++j] = i;
		
	}
	
	for ( i = 1 ; i <= n ; ++i )
		fprintf(g,"%d ",R[i]);
	
	
	fclose(f);
	fclose(g);
	
	return 0;
}