Pagini recente » Cod sursa (job #249334) | Cod sursa (job #2724674) | Cod sursa (job #2062615) | Cod sursa (job #2965327) | Cod sursa (job #1425237)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("farfurii.in");
ofstream fout("farfurii.out");
const int NMax = 100005;
int v[NMax];
int main()
{
long long int n,k,sum = 0,t;
fin >> n >> k;
t = 0;
while(sum < k){
t++;
sum += t;
}
if(k == 0){
for(int i = 1; i<= n; i++){
fout << i << " ";
}
} else {
if(sum == k){
for(int i = 1; i <= n - t - 1; i++){
fout << i << " ";
}
long long int cn = n;
for(int i = n - t; i <= n; i++){
fout << cn << " ";
cn--;
}
} else {
sum -= t;
long long int dif = k - sum;
for(int i = 1; i <= n - t - 1; i++){
v[i] = i;
}
int cnt = n - t;
for(int i = n; i > n - t; i--){
if(n - i != dif){
v[i] = cnt;
cnt++;
} else {
v[n - t] = cnt;
cnt++;
v[i] = cnt;
cnt++;
}
}
for(int i = 1; i <= n; i++){
fout << v[i] << " ";
}
}
}
return 0;
}