Pagini recente » Cod sursa (job #2544361) | Cod sursa (job #500616) | Cod sursa (job #140283) | Cod sursa (job #3286553) | Cod sursa (job #968834)
Cod sursa(job #968834)
#include<fstream>
#define dim 100009
using namespace std;
int n,l,k,m,a[dim],b[dim],j;
int caut(int st,int dr,int n)
{
int mij;
while(st<=dr)
{
mij=(st+dr)/2;
if(mij*(mij+1)/2==n)
return n;
else
if(mij*(mij+1)/2<n&&(mij+1)*(mij+2)/2>n)
return mij+1;
else
if(mij*(mij+1)/2<n)
st=mij+1;
else
dr=mij-1;
}
}
int main()
{
ifstream f("farfurii.in");
ofstream g("farfurii.out");
f>>n>>m;
for(int i=1;i<=n;i++)
b[i]=0;
k=caut(1,n+1,m);
j=(k*(k+1))/2-m;
l=n;
for(int i=k;i>0;i--)
if (i!=j)
{
a[l]=n-i;
l--;
}
a[l]=n;
if (j>0)
{
l--;
a[l]=n-j;
}
for(int i=1;i<l;i++)
a[i]=i;
for(int i=1;i<=n;i++)
g<<a[i]<<" ";
}