Pagini recente » Rating lquip7 (lquip7) | Rating Anonymous Romania (anonymous_l3510n) | Cod sursa (job #135319) | Cod sursa (job #1984464) | Cod sursa (job #1003050)
#include <iostream>
#include <fstream>
#include <cmath>
using namespace std;
ifstream f ("farfurii.in");
ofstream g ("farfurii.out");
int n, k;
void citeste ()
{
f>>n>>k;
}
void rezolva ()
{
int m, p, x, y;
x=log2(n*1.0);
p=pow(2, x+1);
for (m=0; p>0; p/=2)
if (m+p<=n && (m+p)*(m+p-1)<=2*k) m=m+p;
k=k-m*(m-1)/2;
if (k==0)
{
x=n-m;
for (int i=1; i<=x; i++) g<<i<<' ';
for (int i=n; i>x; i--) g<<i<<' ';
g<<'\n';
}
else
{
k=m-k; //x=n-m; y=n-k;
m++;
x=n-m; y=n-k;
for (int i=1; i<=x; i++) g<<i<<' ';
g<<y<<' ';
for (int i=n; i>y; i--) g<<i<<' ';
for (int i=y-1; i>x; i--) g<<i<<' ';
g<<'\n';
}
}
int main ()
{
citeste ();
rezolva ();
return 0;
}