Pagini recente » Cod sursa (job #950199) | Cod sursa (job #2967777) | Cod sursa (job #2543682) | Cod sursa (job #1842420) | Cod sursa (job #2091024)
#include <algorithm>
#include <fstream>
using namespace std;
ifstream fin("farfurii.in");
ofstream fout("farfurii.out");
long long unsigned n,q;
long long unsigned a[150001],aux;
int main()
{
fin>>n>>q;
long long i,k;
for(i=1;i<=n;i++)
a[i]=i;
for(k=1;k<=n;k++)
if(k*(k-1)/2>=q) break;
if(k*(k-1)/2==q) {
// reverse(a+n-k+1,a+n);
for(i=n-k+1;i<=(n+n-k+1)/2;i++)
{aux=a[i];
a[i]=a[n-(i-(n-k+1))];
a[n-(i-(n-k+1))]=aux;}
for(i=1;i<=n;i++)
fout<<a[i]<<" ";
}
else
{//reverse(a+n-k+1,a+n);
for(i=n-k+1;i<=(n+n-k+1)/2;i++)
{aux=a[i];
a[i]=a[n-(i-(n-k+1))];
a[n-(i-(n-k+1))]=aux;}
//swap(a[n-k+1],a[n-k+1+k*(k-1)/2-q]);
aux=a[n-k+1+k*(k-1)/2-q];
for(i=n-k+1+k*(k-1)/2-q;i>=n-k+2;i--)
a[i]=a[i-1];
a[n-k+1]=aux;
for(i=1;i<=n;i++)
//fprintf(g,"%d ",a[i]);
fout<<a[i]<<" ";
}
return 0;
}