Pagini recente » Cod sursa (job #2640779) | Cod sursa (job #194369) | Cod sursa (job #1822496) | Cod sursa (job #2571426) | Cod sursa (job #3245019)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("farfurii.in");
ofstream g("farfurii.out");
bool a[100001];
int main()
{
int n,m,i;
f>>n>>m;
i=1;
while(((n-i)*(n-i-1))/2>m&&i<=n)
{
g<<i<<' ';
a[i]=1;
i++;
}
while(i<=n&&m)
{
int j=n;
while(j>=i&&m)
{
//cout<<((n-i)*(n-i+1))/2-(n-j)<<'\n';
if(a[j]==0&&((n-i)*(n-i+1))/2-(n-j)<=m)
{
m-=((n-i)*(n-i+1))/2-(n-j);
a[j]=1;
g<<j<<' ';
break;
}
if((((n-i)*(n-i+1))/2-(n-j/2))>m)j/=2;
else j--;
}
i++;
}
for(int i=n;i>=1;i--)
if(!a[i])g<<i<<' ';
return 0;
}