Есть число N и N целых чисел со знаком + или –. Это максимальная температура в течение суток за N дней.
Создай и выведи массив с номерами дней, когда температура была максимальной.
Ввод Вывод
6+12
+11+10
+7
+12
+12 [1, 5, 6]
5
-12
-12
-18
-17
-12 [1, 2, 5]
Здравствуйте! Давайте подробно разберём задачу и решим её пошагово.
---
## Задача:
Есть число N — количество дней (последовательность температур за N дней). Каждая температура — целое число, может быть положительным или отрицательным. Нужно определить номера дней, когда температура достигала максимума за весь период. В итоге вывести список этих номеров.
### Входные данные:
- В первой строке — число N и далее — N чисел с знаками + или – (например, `6+12`, где 6 — N, а `+12` — температура).
### Выходные данные:
- Массив с номерами дней, когда температура была максимальной.
---
## Решение по шагам:
### 1. **Парсинг входных данных**
Нам нужно правильно прочитать N и температуры. В примерах входных данных строки выглядят так, что N указано вместе с первым числом, а далее — температуры с знаками. Например:
```
6+12
+11+10
+7
+12
+12
```
или
```
5
-12
-12
-18
-17
-12
```
Но по условию, скорее всего, входные данные — это строки, где:
- Первая строка содержит число N.
- Следующие N строк — температуры, с + или –.
Этот формат более очевиден и стандартен.
### 2. **Обработка данных**
- Прочитать число N.
- В цикле — прочитать N температур, каждая — строка, преобразовать в целое число.
Например, строки вида "+12", они переводятся в int методом `int()`.
### 3. **Определение максимальной температуры**
- После того, как все температуры получены, найти максимум среди них.
### 4. **Нахождение дней с максимальной температурой**
- Собрать все индексы (номера дней, начиная с 1), где температура равна максимуму.
### 5. **Вывод результата**
- Вывести список номеров в формате `[номер1, номер2, ...]`.
---
## Пошаговое решение на Python:
```python
# 1. Чтение количества дней
N = int(input().strip())
# 2. Чтение температур
temperatures = []
for _ in range(N):
temp_str = input().strip()
temp = int(temp_str) # строки с + или - автоматически преобразуются
temperatures.append(temp)
# 3. Находим максимальную температуру
max_temp = max(temperatures)
# 4. Находим номера дней с максимальной температурой
max_days = [i+1 for i, t in enumerate(temperatures) if t == max_temp]
# 5. Выводим результат
print(max_days)
```
---
## Объяснение:
- **`int()`** для строк с знаками '+' или '-' работает корректно, например, `int('+12')` возвращает 12.
- индексы в Python начинаются с 0, а дни нумеруются с 1, потому мы добавляем 1 при формировании списка `max_days`.
- В конце выводим список, как требуется, например `[1, 5, 6]`.
---
## Итог:
Данный код позволяет определить дни с максимальной температурой за N дней и вывести их номера.
Если возникнут дополнительные вопросы — пишите!