Pagini recente » Cod sursa (job #2805617) | Cod sursa (job #3166486) | Cod sursa (job #1394506) | Cod sursa (job #663682) | Cod sursa (job #3245021)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("farfurii.in");
ofstream g("farfurii.out");
bool a[100001];
int main()
{
long long 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)
{
long long 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(long long i=n;i>=1;i--)
if(!a[i])g<<i<<' ';
return 0;
}