Pagini recente » Cod sursa (job #2069598) | Cod sursa (job #835047) | Cod sursa (job #2399773) | Cod sursa (job #680341) | Cod sursa (job #2454594)
#include <fstream>
using namespace std;
ifstream fin ("farfurii.in");
ofstream fout ("farfurii.out");
int n,k,i,sol;
int main (){
fin>>n>>k;
int st = 0, dr = n;
while (st <= dr){
int mid = (st+dr)>>1;
if ((n-mid)*(n-mid-1)/2 >= k){
sol = mid;
st = mid+1;
} else dr = mid-1;
}
int inv = (n-sol)*(n-sol-1)/2;
/// inv - (n-val) = k
int val = k+n-inv;
for (i=1;i<=sol;i++)
fout<<i<<" ";
if (val)
fout<<val<<" ";
for (i=n;i>sol;i--)
if (i != val)
fout<<i<<" ";
return 0;
}