Pagini recente » Cod sursa (job #1321192) | Cod sursa (job #1076563) | Cod sursa (job #133734) | Cod sursa (job #281024) | Cod sursa (job #880703)
Cod sursa(job #880703)
#include <fstream>
#include <iostream>
using namespace std;
int main()
{
long n,k,i,m,p,p1;
ifstream f("farfurii.in");
ofstream g("farfurii.out");
f>>n>>k;
for(p=1;p<n;p*=2)
{
p1=p;
for(m=0;p1>0;p1/=2)
{
if(m+p1<=n&&(m+p1)*(m+p1-1)<=2*k) m+=p1;
}
}
k-=m*(m-1)/2;
if(!k)
{
for(i=1;i<=n-m;i++) g<<i<<" ";
for(i=n;i>n-m;i--) g<<i<<" ";
g<<'\n';
}
else
{
k=m-k;
m++;
for(i=1;i<=n-m;i++)
{
g<<i<<" ";
}
g<<n-k<<" ";
for(i=n;i>n-k;i--) g<<i<<" ";
for(i=n-k-1;i>n-m;i--) g<<i<<" ";
g<<'\n';
}
return 0;
}