Pagini recente » Cod sursa (job #358836) | Cod sursa (job #1667172) | Cod sursa (job #2666776) | Cod sursa (job #2695281) | Cod sursa (job #1068893)
#include <cstdio>
#define MAX_N 100001
#define ll long long
int v[MAX_N];
bool marked[MAX_N];
int main() {
FILE *fin, *fout;
fin = fopen( "farfurii.in", "r" );
int n;
ll k;
fscanf( fin, "%d%lld", &n, &k );
fclose( fin );
int i;
for ( i = 1; i <= n; ++i ) {
ll max_inv = (ll) (n - i) * (n - i - 1) / 2;
if ( max_inv <= k ) {
marked[i + k - max_inv] = true;
v[i] = i + k - max_inv;
break;
} else {
v[i] = i;
marked[i] = true;
}
}
for ( int val = n; val > 0 && i <= n; --val )
if ( !marked[val] ) {
++i;
v[i] = val;
marked[val] = true;
}
fout = fopen( "farfurii.out", "w" );
for ( int i = 1; i <= n; ++i )
fprintf( fout, "%d ", v[i] );
fclose( fout );
}