Pagini recente » Cod sursa (job #806091) | Cod sursa (job #716809) | Cod sursa (job #405599) | Cod sursa (job #2110290) | Cod sursa (job #927975)
Cod sursa(job #927975)
#include<cstdio>
using namespace std;
#define MAX 100001
int N,p[MAX] , m , rest;
long long K;
int main()
{
freopen("farfurii.in" , "r" , stdin );
scanf("%d%lld" , &N , &K);
m = 1;
while(1ll*m*(m-1)<=2*K)m++;
m--;
if(1ll*m*(m-1)/2==K)
{
for(int i = 1 ; i <= N-m ; ++i )
p[i] = i;
for(int i = 1 ; i <= m ; ++i )
p[N-m+i] = N-i+1;
}
else
{
for(int i = 1 ; i< N-m ; ++i )
p[i] = i;
rest = 1ll*m*(m+1)/2-K;
p[N-m] = N-rest;
int j = N;
for(int i = 1 ; i <= m ; ++i )
{
if(i-1==rest)j--;
p[N-m+i] = j--;
}
}
freopen("farfurii.out" , "w" , stdout );
for(int i = 1 ; i <= N ; ++i )
printf("%d " , p[i] );
return 0;
}