Pagini recente » Cod sursa (job #445896) | Cod sursa (job #2932269) | Cod sursa (job #876639) | Cod sursa (job #2287895) | Cod sursa (job #261024)
Cod sursa(job #261024)
#include <fstream.h>
long n,k,i,m,p;
int main()
{
ifstream fin("farfurii.in");
fin>>n>>k;
fin.close();
ofstream fout("farfurii.out");
p=1;
while(p<n)
p*=2;
m=0;
while(p>0)
{
if(m+p<=n && (m+p)*(m+p-1)<=2*k)
m+=p;
p/=2;
}
k-=m*(m-1)/2;
if(!k)
{
for(i=1;i<=n-m;i++)
fout<<i<<" ";
for(i=n;i>=n-m+1;i--)
fout<<i<<" ";
fout<<'\n';
}
else
{
k=m-k;
m++;
for(i=1;i<=n-m;i++)
fout<<i<<" ";
fout<<n-k<<" ";
for(i=n;i>=n-k+1;i--)
fout<<i<<" ";
for(i=n-k-1;i>=n-m+1;i--)
fout<<i<<" ";
fout<<'\n';
}
fout.close();
return 0;
}