Pagini recente » Cod sursa (job #2927251) | Cod sursa (job #2553747) | Cod sursa (job #153705) | Cod sursa (job #2073915) | Cod sursa (job #3245020)
#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-i)*(n-i+1))/2-n-m);
while(j>=i&&m)
{
//g<<((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;
}