Как решить эту задачу

Даны n, x и n отрезков l_i, r_i. Нужно вывести ans_1, ans_2, ans_3, ..., ans_n, таких, что l_i \le ans_i \le r_i и \Sigma_{i=1}^n ans_i =x или вывести -1, если это невозможно. Пусть sum1 - это \Sigma_{i=1}^n l_i, а sum2 - \Sigma_{i=1}^n r_i, тогда ответ есть только если sum1 \le x \le sum2. А как найти эти числа?

Можешь скинуть ссылку на задачу или скрин задачи.

Давай назначим ans_i = l_i, потом прост в тупую пройдись каждому i и проверяй текущая сумма меньше x? Если да то увеличь ans_i на min(x - sum, r_ i - l_i), где sum это текущая сумма. Если в итоге sum \neq x то ответ -1, иначе ans_i.