Pagini recente » Cod sursa (job #1846093) | Cod sursa (job #2987284) | Cod sursa (job #3140273) | Cod sursa (job #2775553) | Cod sursa (job #2847684)
#include <bits/stdc++.h>
#define ll long long
using namespace std;
void fast() {
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
}
int N;
ll K;
int v[30005];
int main() {
fast();
ifstream fin("farfurii.in");
fin >> N >> K;
for (int i = 1; i <= N; i++)
v[i] = N - i + 1;
K = (long long) N * ((long long) N - 1LL) / 2 - K;
int crtUnsorted = 1;
int lastToMove = -1, whereToMove = -1;
while (K) {
if (N - crtUnsorted <= K) {
K -= N - crtUnsorted;
crtUnsorted++;
} else {
lastToMove = (int) crtUnsorted + K;
whereToMove = crtUnsorted;
break;
}
}
ofstream fout ("farfurii.out");
for (int i = 1; i < crtUnsorted; i++)
fout << i << ' ';
if (lastToMove != -1)
fout << lastToMove << ' ';
for (int i = N; i >= 1; i--)
if (i >= crtUnsorted && i != lastToMove)
fout << i << ' ';
}