Контест Junior Коллекции и строки спрашивают часто обновлено

Задача на Swift: два товара на заданную сумму

Условие

В корзине n товаров с ценами. Найдите два разных товара, сумма цен которых равна target. Среди всех пар выберите пару с наименьшим номером второго товара j, а при равенстве с наименьшим номером первого i (i < j). Нумерация с 1.

Первая строка: n target (1 ≤ n ≤ 10⁴, |target| ≤ 2·10⁹). Вторая: n целых чисел по модулю не больше 10⁹.

Выведите i j или -1, если пары нет.

Пример

5 9
2 7 11 15 1
1 2

Как подойти

Словарь значение → индекс, один проход.

Решите в тренажёре

Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.