Pagini recente » Cod sursa (job #824537) | Cod sursa (job #366813) | Cod sursa (job #2556153) | Cod sursa (job #41636) | Cod sursa (job #1401724)
#include <iostream>
#include <algorithm>
#include <fstream>
using namespace std;
int v[100010],posSchimb,y,i,j,n,k,nr,x;
long long int d;
ifstream fin("farfurii.in");
ofstream fout("farfurii.out");
int main()
{
fin>>n>>k;
for(i=1 ; d<k ; ++i )
d += i;
posSchimb = i;
++j;
for( i=1 ; i<=n-posSchimb ; ++i , ++j )
v[ j ] = i;
y = i;
for( i = n ; i >= y ; --i , ++j )
v[ j ] = i;
posSchimb = n - posSchimb + 1;
if( d != k )
{
nr = d - k;
x = v[ posSchimb ];
swap( v[ posSchimb ] , v[ posSchimb + nr ] );
for(i=posSchimb + nr ; i>posSchimb ; --i)
v[ i ] = v[ i - 1 ];
v[posSchimb + 1] = x;
}
for(i=1 ; i<=n ; ++i)
fout<<v[i]<<' ';
return 0;
}