Pagini recente » Cod sursa (job #2128060) | Cod sursa (job #663273) | Cod sursa (job #2598494) | Cod sursa (job #1419206) | Cod sursa (job #2784923)
#include <fstream>
using namespace std;
ifstream cin("farfurii.in");
ofstream cout("farfurii.out");
int main () {
long long n, k, m = 0;
cin >> n >> k;
while (m * (m + 1) / 2 <= k) {
m ++;
}
m --;
if (k - m * (m + 1) / 2 == 0) {
for (int i = 1; i <= n - m - 1; i ++) {
cout << i << " ";
}
for (int i = n; i >= n - m; i --) {
cout << i << " ";
}
}
else {
bool ok = 0;
long long r = k - m * (m + 1) / 2;
for (int i = 1; i <= min(n - m, n - m - r) - 1; i ++) {
cout << i << " ";
}
if (min(n - m - 1, n - m - r - 1) == n - m - r - 1) {
cout << n << " ";
ok = 1;
}
for (int i = min(n - m, n - m - r); i <= n - m - 1; i ++) {
if (i == n - m - r && ok != 1) {
cout << n << " ";
}
cout << i << " ";
}
for (int i = n - 1; i >= n - m; i --) {
cout << i << " ";
}
}
return 0;
}