Pagini recente » Monitorul de evaluare | Cod sursa (job #1338051) | Cod sursa (job #1151243) | Statistici Vasile Marina (mariinaxw) | Cod sursa (job #1003046)
#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;
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)
{
for (int i=1; i<=n-m; i++) g<<i<<' ';
for (int i=n; i>n-m; i--) g<<i<<' ';
g<<'\n';
}
else
{
k=m-k;
m++;
for (int i=1; i<=n-m; i++) g<<i<<' ';
g<<n-k<<' ';
for (int i=n; i>n-k; i--) g<<i<<' ';
for (int i=n-k-1; i>n-m; i--) g<<i<<' ';
g<<'\n';
}
}
int main ()
{
citeste ();
rezolva ();
return 0;
}