Pagini recente » Cod sursa (job #2309145) | Cod sursa (job #2150481) | Cod sursa (job #1191079) | Monitorul de evaluare | Cod sursa (job #2859016)
#include <iostream>
#include <fstream>
#include <cmath>
using namespace std;
ifstream f("arbint.in");
ofstream g("arbint.out");
long long v[800001],n,k,z,val,p=2;
/*int maxi(int a,int b)
{
if(a>b) return a;
return b;
}
void build(int st,int dr, int poz)
{
if(st==dr)
{
arb[poz]=st;
return;
}
if(val<poz) val=poz;
int mij=(st+dr)/2;
build(st,mij,2*poz);
build(mij+1,dr,2*poz+1);
arb[poz]=maxi(arb[2*poz],arb[2*poz+1]);
{1}
}*/
int main()
{
long long i,dif,j;
f>>n>>k;
//build(1,n,1);
p=0;
while(p*(p+1)/2<k) p++;
for(i=1;i<n-p;i++)
g<<i<<" ";
dif=p*(p+1)/2-k;
g<<n-dif<<" ";
dif=n-dif;
for(j=n;j>=n-p;j--)
if(j!=dif) g<<j<<" ";
return 0;
}