Pagini recente » Cod sursa (job #2235726) | Cod sursa (job #1339074) | Cod sursa (job #1534217) | Cod sursa (job #2205980) | Cod sursa (job #2776664)
#include <bits/stdc++.h>
using namespace std;
ifstream in("farfurii.in");
ofstream out("farfurii.out");
using ll = long long;
const int maxN = (int)1e5;
int n;
ll k;
int ans[maxN + 5];
int main() {
in >> n >> k;
int pos = n;
for (int i = 1; i <= n; i++) {
ll inv = (ll)((ll)1 * i * (i - 1) / (ll)2);
if (inv >= k) {
pos = i;
break;
}
}
for (int i = 1; i <= n; i++) {
ans[i] = i;
}
ll inv = (ll)((ll)1 * pos * (pos - 1) / (ll)2);
ll left = n - (inv - k);
reverse(ans + n - pos + 1, ans + n + 1);
for (int i = 1; i < n - pos + 1; i++) {
out << ans[i] << " ";
}
out << left << " ";
for (int i = n - pos + 1; i <= n; i++) {
if (ans[i] != left) {
out << ans[i] << " ";
}
}
return 0;
}