Pagini recente » Cod sursa (job #2801784) | Cod sursa (job #1542266) | Cod sursa (job #1524353) | Cod sursa (job #2072112) | Cod sursa (job #2615743)
// By Stefan Radu
#include <algorithm>
#include <fstream>
#include <iomanip>
#include <cassert>
#include <vector>
#include <string>
#include <cctype>
#include <queue>
#include <deque>
#include <cmath>
#include <stack>
#include <map>
#include <set>
using namespace std;
#define sz(x) (int)(x).size()
typedef pair < int, int > pii;
typedef long long ll;
typedef long double ld;
typedef unsigned int ui;
typedef unsigned long long ull;
ifstream cin("farfurii.in");
ofstream cout("farfurii.out");
int main() {
#ifdef STEF
freopen("input", "r", stdin);
freopen("output", "w", stdout);
#endif
ios::sync_with_stdio(false);
cin.tie(0);cout.tie(0);
ll n, k;
cin >> n >> k;
int total = n * (n - 1) / 2 - k;
vector < int > ans;
vector < bool > used(n + 1);
ans.reserve(n);
int curr = 1;
while (total) {
if (n - curr <= total) {
ans.emplace_back(curr);
used[curr] = true;
total -= n - curr;
}
else {
used[curr + total] = true;
ans.emplace_back(curr + total);
total = 0;
}
++ curr;
}
for (int &x : ans) cout << x << ' ';
for (int i = n; i >= 1; -- i) {
if (not used[i]) cout << i << ' ';
}
cout << '\n';
}