나무 심기
8 - I · BOJ 1280 · 시간 2 초 · 메모리 128 MB
1번부터 N번까지 번호가 매겨져 있는 N개의 나무가 있다. i번 나무는 좌표 X[i]에 심어질 것이다.
동호는 나무를 1번 나무부터 차례대로 좌표 X[i]에 심으려고 한다. 1번 나무를 심는 비용은 없고, 각각의 나무를 심는데 드는 비용은 현재 심어져있는 모든 나무 까지 거리의 합이다. 만약 3번 나무를 심는다면, 1번 나무와의 거리 + 2번 나무와의 거리가 3번 나무를 심는데 드는 비용이다.
2번 나무부터 N번 나무까지를 심는 비용의 곱을 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 나무의 개수 N (2 ≤ N ≤ 200,000)이 주어진다. 둘째 줄부터 N개의 줄에 1번 나무의 좌표부터 차례대로 주어진다. 각각의 좌표는 200,000보다 작은 자연수 또는 0이다.
출력
문제의 정답을 1,000,000,007로 나눈 나머지를 출력한다.
테스트 케이스
예제 입력 1
5 3 4 5 6 7
예제 출력 1
180
예제 입력 2
3 5 13 9
예제 출력 2
64
예제 입력 3
4 1 8 15 1
예제 출력 3
3087
예제 입력 4
10 4 59 94 89 4 59 94 89 4 59
예제 출력 4
591860767
예제 입력 5
5 199999 197532 99069 83762 14539
예제 출력 5
499739175
C++ 편집기를 불러오는 중입니다...
채점서버 IP / 포트
브라우저가 직접 호출합니다. 요청 대상: http://localhost:12010/judge
코딩살구클럽채점서버 레포를 클론한 후 채점서버를 실행하고, IP 입력란에 현재 PC의 IP를, 포트 입력란에 채점서버 포트를 등록하면 로컬 채점서버와 코딩살구클럽이 연동됩니다.
현재는 크롬브라우저만 지원합니다.
- 예시: IP
192.168.22.222, 포트12010
macOS IP 확인
$ ipconfig getifaddr en0Windows IP 확인
> ipconfig | findstr IPv4해설 코드
해설 코드를 보려면 버튼을 눌러주세요.
