Pagini recente » Cod sursa (job #880908) | Cod sursa (job #2346963) | Cod sursa (job #2145434) | Cod sursa (job #871360) | Cod sursa (job #2899934)
#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;
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 = 1; i <= n; i++) fout << v[i] << " ";
return 0;
}