대기 오염
시간 제한2초메모리 제한512 MB
상점 i에서 공기 순환을 하면 이웃 두 곳에는 p_i씩 더하고 자기 자신에서는 2p_i를 빼는 연산을 반복해, 모든 p_i가 l_i 이상이 되게 하는 최소 연산 횟수를 구하거나 불가능하면 -1을 출력한다.
문제
20XX년, ICPC (Ikuta's Computer Pollutes Community) 상점가의 점주들은 대기 오염에 시달리고 있었다. 예전의 활기를 되찾으려면 대기의 청정도를 일정 수준 이상으로 끌어올려야 한다.
상점가의 가게들은 일렬로 늘어서 있고, 1부터 까지 번호가 붙어 있다. 현재 각 가게 주변의 대기 청정도는 이다. 2번째부터 번째 가게를 하나 골라 그 주변의 대기를 순환시켜, 고른 가게와 이웃한 가게들의 대기 청정도를 바꿀 수 있다. 정확히는 ()번째 가게를 고르면 과 에 만큼 더해지고, 반대로 에서는 만큼 빠진다. 즉, 새로운 대기 청정도 은
-
-
-
가 된다. 이 조작을 반복해 모든 가게의 대기 청정도 를 허용할 수 있는 최소한의 대기 청정도 이상으로 만드는 것이 목표이다.
대기를 순환시키려면 큰 비용이 들기 때문에, 되도록 적은 횟수로 목표를 달성하고 싶다. ICPC 상점가의 미래를 위해 힘을 빌려 달라.
입력
입력은 다음 형식으로 주어진다.
...
...
은 가게의 수, 는 번째 가게의 현재 대기 청정도, 는 번째 가게가 달성해야 하는 대기 청정도를 나타낸다.
출력
모든 가게가 대기 청정도를 달성하는 데 필요한 대기 순환 횟수의 최솟값을 한 줄에 출력하라.
어떻게 조작해도 달성할 수 없는 경우에는 을 출력하라.
제한
입력에 들어오는 각 변수는 다음 조건을 만족한다.