Pagini recente » Cod sursa (job #280736) | Cod sursa (job #2079634) | Cod sursa (job #132881) | Cod sursa (job #696249) | Cod sursa (job #2899937)
#include <fstream>
using namespace std;
ifstream fin("farfurii.in");
ofstream fout("farfurii.out");
const int dim = 1e5 + 2;
int main() {
int n, k, v[dim], dp = 0, old_dp, j, aux;
fin >> n >> k;
aux = n;
for(j = 1; j <= n && dp <= k; j++) old_dp = dp, dp += j;
for(int i = 1; i <= n; i++)
if( i <= n - j + 1) {
v[i] = i;
fout << i << " ";
} else v[i] = aux--;
k -= old_dp;
int st = n - j + 1, dr = n;
while( k ) {
swap(v[st], v[dr--]);
--k;
}
for(int i = n - j + 2; i <= n; i++) fout << v[i] << " ";
return 0;
}