Pagini recente » Cod sursa (job #1962945) | Monitorul de evaluare | Cod sursa (job #2752414) | Cod sursa (job #1659664) | Cod sursa (job #1552364)
#include <bits/stdc++.h>
#define ull unsigned long long
using namespace std;
bool c[100005];
int main()
{
freopen("farfurii.in", "r", stdin);
FILE *g = fopen("farfurii.out", "w");
ull n, k;
cin >> n >> k;
ull last = 1;
for(int i = 1; i <= n; i ++) {
ull j = n - i - 1;
ull nxt = j * (j + 1) / 2;
if(nxt >= k) {
fprintf(g, "%lld ", last);
c[last] = true;
while(c[last])
last ++;
}
else {
ull j = k - nxt;
ull in = last;
while(j) {
if(!c[last])
j --;
last ++;
while(c[last])
last ++;
}
fprintf(g, "%lld ", last);
c[last] = true;
k = nxt;
last = in;
i = n;
}
}
for(int j = n; j >= last; j --)
if(!c[j])
fprintf(g, "%lld ", j);
fprintf(g, "\n");
return 0;
}