Cod sursa(job #530153)

Utilizator jeanFMI - Petcu Ion Cristian jean Data 7 februarie 2011 08:18:10
Problema Farfurii Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include<stdio.h>
#include<math.h>
#define Nmax 100010
using namespace std;

int n , p , i, inv, N, ld ;
double r,delta ; 

int main()
{
	freopen("farfurii.in","r",stdin);
	freopen("farfurii.out","w",stdout);
	
	scanf("%d %d",&n,&inv) ;
	
	delta = 1 + (inv<<3) ; 
	
	r = sqrt(delta);  p = (int)r;
	
	if( delta != r*r ) p++;
	
	p = (p+1) >> 1 ;
	N = ( p * ( p-1 ) ) >> 1 ;
	
	ld = n - p ;
	
	for( i = 1 ; i <= ld ; i++ ) 
		printf("%d ",i );
	
	N -= inv ; 
	N = n - N ;
	
	printf("%d ",N) ;
	
	for( i = n ; i > ld ; i-- )
		if( i != N ) printf("%d ",i);
	
	return 0;
}