Pagini recente » Cod sursa (job #129141) | Cod sursa (job #2636705) | Cod sursa (job #720766) | Cod sursa (job #1771184) | Cod sursa (job #2456391)
#include <fstream>
using namespace std;
ifstream fin( "farfurii.in" );
ofstream fout( "farfurii.out" );
const int NMAX = 100005;
int N;
unsigned long long K;
int a[NMAX];
int main()
{
fin >> N >> K;
int p;
for( int i = 1; i <= N; ++i )
if( 1ULL * i * ( i - 1 ) / 2 >= K )
{
for( int j = 1; j <= N - i; ++j )
a[j] = j;
K = 1LL * i * ( i - 1 ) / 2 - K;
p = N - i + 1;
break;
}
for( int i = p; i <= N; ++i )
a[i] = N - ( i - p );
if( K > 0 )
{
int aux = a[p + K];
for( int i = p + K; i > p; --i )
a[i] = a[i - 1];
a[p] = aux;
}
for( int i = 1; i <= N; ++i )
fout << a[i] << ' ';
return 0;
}