Pagini recente » Cod sursa (job #2297668) | Cod sursa (job #1321864) | Cod sursa (job #2409992) | Cod sursa (job #1818892) | Cod sursa (job #2278728)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("farfurii.in");
ofstream fout("farfurii.out");
const int NMAX = 100000;
long long V[NMAX + 5], N, K, X;
void Mirror(int st, int dr) {
while(st < dr) {
swap(V[st], V[dr]);
st++, dr--;
}
}
int main()
{
fin >> N >> K;
for(int i = 1; i <= N; i++)
V[i] = i;
while(X * (X - 1) / 2 < K) X++;
X--;
Mirror(N - X + 1, N);
long long aux = V[N - X], l = K - X * (X - 1) / 2;
V[N - X] = V[N - l + 1];
for(int i = N - l + 1; i < N; i++)
V[i] = V[i + 1];
V[N] = aux;
for(int i = 1; i <= N; i++)
fout << V[i] << " ";
fout << '\n';
fin.close();
fout.close();
return 0;
}