Pagini recente » Cod sursa (job #991865) | Cod sursa (job #3234602) | Cod sursa (job #233923) | Cod sursa (job #2977220) | Cod sursa (job #1401726)
#include <iostream>
#include <algorithm>
#include <fstream>
using namespace std;
int v[100010],y,n,x;
long long int d,i,j,posSchimb,k,nr;
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;
}