Pagini recente » Cod sursa (job #3190031) | Cod sursa (job #2667604) | Cod sursa (job #2810789) | Cod sursa (job #795804) | Cod sursa (job #503291)
Cod sursa(job #503291)
// infoarena: problema/farfurii //
#include <fstream>
using namespace std;
ifstream in("farfurii.in");
ofstream out("farfurii.out");
unsigned long n,k,i,m,x[100010];
int main()
{
in>>n>>k;
for(i=0; i*(i+1)/2 < k; i++);
m=i;
if(m*(m-1)/2 == k)
{
for(i=1; i<=n-m; i++)
out<<i<<' ';
for(i=n; i>=n-m+1; i--)
out<<i<<' ';
return 0;
}
for(i=1; i<=n-m; i++)
x[++x[0]] = i;
for(i=n; i>n-m; i--)
x[++x[0]] = i;
for(i=1; i<=n; i++)
if(i == n-m)
out<<n-(m*(m+1)/2-k)<<' ';//<<' '<<x[i]<<' ';
else if(x[i] == n-(m*(m+1)/2-k))
continue;
else
out<<x[i]<<' ';
out<<x[n-m];
return 0;
}