Pagini recente » Cod sursa (job #1317606) | Cod sursa (job #1880026) | Cod sursa (job #1741742) | Cod sursa (job #1008735) | Cod sursa (job #941850)
Cod sursa(job #941850)
# include <cstdio>
using namespace std;
int n,k;
int main()
{
int i,m,p;
freopen("farfurii.in","r",stdin);
freopen("farfurii.out","w",stdout);
scanf("%ld %ld",&n,&k);
for( p = 1 ; p < n ; p *= 2 );
for( m = 0 ; p > 0 ; p /= 2 )
if( m+p <= n && (m+p)*(m+p-1) <= 2*k ) m += p;
k -= m*(m-1)/2;
if( !k )
{
for( i = 1 ; i <= n ; ++i ) printf("%ld ", i);
for( i = n ; i > n-m ; --i ) printf("%ld ", i);
putchar('\n');
}
else
{
k = m-k;
++m;
for( i = 1 ; i <= n-m ; ++i ) printf("%ld " , i);
printf("%ld ",n-k);
for( i = n ; i > n-k ; --i ) printf("%ld ",i);
for( i = n-k-1 ; i > n-m ; --i ) printf("%ld ",i);
putchar('\n');
}
fclose(stdin);
fclose(stdout);
return 0;
}