Pagini recente » Cod sursa (job #2544829) | Cod sursa (job #333760) | Cod sursa (job #2196358) | Cod sursa (job #977159) | Cod sursa (job #1853431)
#include <cstdio>
using namespace std;
int n;
long long k;
int main()
{
freopen("farfurii.in", "r", stdin);
freopen("farfurii.out", "w", stdout);
scanf("%d%lld", &n, &k);
int m = n, el = 0, nr = 0;
if(k == 1LL * (n - 1) * n / 2){
for(int i = n; i >= 1 ; --i)
printf("%d ", i);
return 0;
}
if(k == 0){
for(int i = 1; i <= n ; ++i)
printf("%d ", i);
return 0;
}
long long nk = 1LL * (n - 1) * n / 2 - k;
while(nk > 0){
++nr;
if(m - 1 <= nk){
nk = nk - m + 1;
printf("%d ", nr);
}
else{
printf("%d ", n - nk);
el = n - nk;
for(int i = n; i > el ; --i)
printf("%d ", i);
for(int i = el - 1; i >= nr ; --i)
printf("%d ", i);
nk = 0;
}
--m;
}
return 0;
}