V
Size: a a a
ИШ
a
из 101 нуля, инкрементить a[i]
каждый раз, когда i
встречается во входных массивах. Затем пройтись по этому массиву и для каждого i > 0
вывести его a[i]
количество раз. Кажется, работает за O(k*n), а отсортированы входные массивы только чтобы запутать.PE
a
из 101 нуля, инкрементить a[i]
каждый раз, когда i
встречается во входных массивах. Затем пройтись по этому массиву и для каждого i > 0
вывести его a[i]
количество раз. Кажется, работает за O(k*n), а отсортированы входные массивы только чтобы запутать.4
6 2 26 64 88 96 96
4 8 20 65 86
7 1 4 16 42 58 61 69
1 84
2 26 64 88 96 96
8 20 65 86
1 4 16 42 58 61 69
84
]const fs = require('fs');
var readline = require('readline');
var rl = readline.createInterface(process.stdin, process.stdout);
//rl.prompt(); // todo: comment
let lines = [];
rl.on('line', function(line) {
lines.push(line.split(' ').map(Number));
}).on('close',function(){
let merged = [];
for (let i = 1; i < lines.length; i++) {
merged = merged.concat(lines[i].slice(1));
}
function sort(arr)
{
var n = arr.length, Count = [], B = [];
for (var i = 0; i < n; i++) Count[ i ] = 0;
for (var i = 0; i < n-1; i++)
{ for (var j = i+1; j < n; j++)
{ if (arr[ i ] < arr[j]) Count[j]++;
else Count[ i ]++;
}
}
for (var i = 0; i < n; i++) B[Count[ i ]] = arr[ i ];
return B;
}
let sorted = sort(merged)
fs.appendFileSync('output.txt', sorted.join(' '));
});
ИШ
4
6 2 26 64 88 96 96
4 8 20 65 86
7 1 4 16 42 58 61 69
1 84
2 26 64 88 96 96
8 20 65 86
1 4 16 42 58 61 69
84
]const fs = require('fs');
var readline = require('readline');
var rl = readline.createInterface(process.stdin, process.stdout);
//rl.prompt(); // todo: comment
let lines = [];
rl.on('line', function(line) {
lines.push(line.split(' ').map(Number));
}).on('close',function(){
let merged = [];
for (let i = 1; i < lines.length; i++) {
merged = merged.concat(lines[i].slice(1));
}
function sort(arr)
{
var n = arr.length, Count = [], B = [];
for (var i = 0; i < n; i++) Count[ i ] = 0;
for (var i = 0; i < n-1; i++)
{ for (var j = i+1; j < n; j++)
{ if (arr[ i ] < arr[j]) Count[j]++;
else Count[ i ]++;
}
}
for (var i = 0; i < n; i++) B[Count[ i ]] = arr[ i ];
return B;
}
let sorted = sort(merged)
fs.appendFileSync('output.txt', sorted.join(' '));
});
ИШ
4
6 2 26 64 88 96 96
4 8 20 65 86
7 1 4 16 42 58 61 69
1 84
2 26 64 88 96 96
8 20 65 86
1 4 16 42 58 61 69
84
]const fs = require('fs');
var readline = require('readline');
var rl = readline.createInterface(process.stdin, process.stdout);
//rl.prompt(); // todo: comment
let lines = [];
rl.on('line', function(line) {
lines.push(line.split(' ').map(Number));
}).on('close',function(){
let merged = [];
for (let i = 1; i < lines.length; i++) {
merged = merged.concat(lines[i].slice(1));
}
function sort(arr)
{
var n = arr.length, Count = [], B = [];
for (var i = 0; i < n; i++) Count[ i ] = 0;
for (var i = 0; i < n-1; i++)
{ for (var j = i+1; j < n; j++)
{ if (arr[ i ] < arr[j]) Count[j]++;
else Count[ i ]++;
}
}
for (var i = 0; i < n; i++) B[Count[ i ]] = arr[ i ];
return B;
}
let sorted = sort(merged)
fs.appendFileSync('output.txt', sorted.join(' '));
});
r
PE
AK
Даны k отсортированных в порядке неубывания массивов неотрицательных целых чисел, каждое из которых не превосходит 100. Требуется построить результат их слияния: отсортированный в порядке неубывания массив, содержащий все элементы исходных k массивов.
Длина каждого массива не превосходит 10 ⋅ k.
Постарайтесь, чтобы решение работало за время k ⋅ log(k) ⋅ n, если считать, что входные массивы имеют длину n.
Формат ввода
Первая строка входного файла содержит единственное число k, k ≤ 1024.
Каждая из следующих k строк описывает по одному массиву. Первое число каждой строки равняется длине соответствующего массива, оставшиеся числа этой строки описывают значения элементов этого же массива. Элементы массивов являются неотрицательными целыми числами и не превосходят 100.
Формат вывода
Выходной файл должен содержать отсортированный в порядке неубывания массив, содержащий все элементы исходных массивов.
Пример
Ввод
4
6 2 26 64 88 96 96
4 8 20 65 86
7 1 4 16 42 58 61 69
1 84
Вывод
1 2 4 8 16 20 26 42
58 61 64 65 69 84 86
88 96 96
AK
ВИ
ВИ
АВ
ВИ
АВ
ZZ
ВИ
ZZ
ВИ
ZZ