решить! Задача №1733. Золотая середина
Центральным элементом набора из k чисел называется такой элемент, который после сортировки набора будет занимать в нём центральную позицию (то есть позицию номер ⌈k / 2⌉, считая с единицы). Числа добавляются в изначально пустой набор в заданном порядке. Требуется определить значения центрального элемента после добавления каждого числа.
Входные данные
Входной файла содержит количество чисел n, за которым следуют n целых чисел ai в порядке их добавления в набор. 1 ≤ n ≤ 106, −109≤ai≤109.
Выходные данные
Выходной файл должен содержать n целых чисел — значения центрального элемента после каждого добавления.
Примеры тестов
входные данные
3
5 3 4
выходные данные
5 3 4
входные данные
5
1 2 3 2 4
выходные данные
1 1 2 2 2
На питоне можете решить.
#include <malloc.h>
void func(int *mas, int N)
{
int l=0, r=N-1, i;
while(l<r)
{
for(i=l; i<N; i++)
if(mas[i]<0)
break;
l=i;
for(i=r; i>=0; i--)
if(mas[i]>=0)
break;
r=i;
if(l<r)
{
int temp=mas[l];
mas[l]=mas[r];
mas[r]=temp;
}
}
}
int main()
{int *mas, N, i;printf("N= ");scanf("%d", &N);mas=(int*) malloc(N*sizeof(int));for(i=0;
i<N; i++)
{ printf("[%d]= ", i);
scanf("%d", &mas[i]);}func(mas, N);for(i=0; i<N; i++) printf("%d ", mas[i]);
return 0;}
1. m
2. real
3. 100
4. c
5. 15
6. m[c]
7. нет
8. [5,10]
9. real
10. произведение элементов массива отличных от 0
Объяснение:
m (имя переменной): array (тип переменной - массив) [1..100] ([минимальное значение индекса массива..максимальное значение индекса массива) of real (тип элементов массива)
количество элементов массива = максимальное значение индекса массива - минимальное значение индекса массива + 1
real - вещественный тип
integer - целочисленный тип
random(6) - случайные числа из [0,5]
5 + random(6) - случайные числа из [5,10]