Pagini recente » Cod sursa (job #2906899) | Cod sursa (job #630814) | Cod sursa (job #2913849) | Cod sursa (job #1890625) | Cod sursa (job #3133977)
#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm>
using namespace std;
void functia_principala(long long a, long long b, ofstream& f2) {
vector<long long> lista(a);
for (long long i = 0; i < a; i++)
lista[i] = i + 1;
long long inversiuni = 0;
for (long long i = a - 1; i >= 0; i--) {
if (inversiuni + (a - i - 1) >= b) {
long long diferenta = b - inversiuni;
swap(lista[i], lista[i + diferenta]);
reverse(lista.begin() + i + 1, lista.end());
break;
}
inversiuni += (a - i - 1);
}
for (const auto& nr : lista)
f2 << nr << " ";
}
int main() {
ifstream f1("../farfurii.in");
ofstream f2("../farfurii.out");
long long a, b;
f1 >> a >> b;
functia_principala(a, b, f2);
return 0;
}