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