Pagini recente » Cod sursa (job #383595) | Cod sursa (job #1735670) | Cod sursa (job #615733) | Cod sursa (job #214975) | Cod sursa (job #927948)
Cod sursa(job #927948)
#include<cstdio>
using namespace std;
#define MAX 100001
int N , K ,p[MAX] , m , rest;
int main()
{
freopen("farfurii.in" , "r" , stdin );
scanf("%d%d" , &N , &K);
m = 1;
while(m*(m-1)<=2*K)m++;
m--;
if(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 = 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;
}