Pagini recente » Cod sursa (job #2516602) | Cod sursa (job #1956939) | Cod sursa (job #12281) | Cod sursa (job #2441376) | Cod sursa (job #2625176)
#include <fstream>
#define N 150005
using namespace std;
ifstream fin("farfurii.in");
ofstream fout("farfurii.out");
long long unsigned n, q;
long long unsigned a[N], aux;
int main()
{
long long i, k;
fin >> n >> q;
for (i = 1; i <= n; i++)
a[i] = i;
for (k = 1; k <= n; k++)
if (k * (k - 1) / 2 >= q) break;
if (k * (k - 1) / 2 == q) {
for (i = n - k + 1; i <= (n + n - k + 1) / 2; i++) {
aux = a[i];
a[i] = a[n - (i - (n - k + 1))];
a[n - (i - (n - k + 1))] = aux;
}
for (i = 1; i <=n; i++)
fout << a[i] << " ";
}
else {
for (i = n - k + 1; i <= (n + n - k + 1) / 2; i++) {
aux = a[i];
a[i] = a[n - (i - (n - k + 1))];
a[n - ( i - (n - k + 1))] = aux;
}
aux = a[n - k + 1 + k * (k - 1) / 2 - q];
for (i = n - k + 1 + k * (k - 1) / 2 - q; i >= n - k + 2; i--)
a[i] = a[i - 1];
a[n - k + 1] = aux;
for (i = 1; i <= n; i++)
fout << a[i] << " ";
}
return 0;
}