Нужна помощь с задачей
Ребят помогите начинающему. Подскажите с чего начать и на чем построенно решение. Никак не соображу =(
Дано Последовательность натуральных чисел x1, x2, ..., xN. Хитрый перец создал другую последовательность y1 = x1, y2 = x1+x2, ..., yN = x1+x2 + ... +xN, а затем удалил числа x1, x2, ..., xN и написал вместо них y1, y2, ..., yN в произвольном порядке. Нужно найти первоначальную последовательность x1, x2, ..., xN. Входные данные В первой строке записано натуральное число N (1 <= N <= 1000). Во второй строке записаны все члены последовательности y1, y2, ..., yN в произвольном порядке через пробел (1 <= yi <= 10^9 для всех 1 <= i <= N). Выходные данные Выведите N чисел x1, x2, ..., xN через пробел Пример Ввод 3 3 6 1 Вывод 1 2 3 |
Натуральное число не может быть отрицательным. Благодаря этому мы понимаем, что yi-1 будет меньше yi и тд
Поэтому, чтобы восстановить исходный порядок yN последовательности мы осортируем их в порядке возрастания. Как только мы отсортировали проедем по последовательности 'у' циклом слагая все члены и вычитая их из текущего 'y' в цикле |
Примерно так http://codepen.io/mogafk/pen/KgpGzk?editors=1010
|
Большое спасибо. Буду разбираться
|
Часовой пояс GMT +3, время: 14:58. |