문제링크 : https://www.acmicpc.net/problem/26072
26072번: 곰곰이와 시소
첫번째 줄에 정수 $N$과 $L$이 공백을 사이에 두고 주어진다. $(1 \le N, L \le 100\,000)$ 두번째 줄에 정수 $x_1, x_2, \cdots, x_N$이 공백을 사이에 두고 주어진다. $(0 \le x_i \le L)$ 세번째 줄에 정수 $w_1, w_2, \c
www.acmicpc.net
작성코드
풀이
1) 문제 노트에 있는 공식을 활용해서 풀어야한다.
WL은 왼쪽에 있는 치킨들의 값
WR은 오른쪽에 있는 치킨들의 값으로 생각하면 된다.
Σ 는 숫자의 합이므로 Σ(1~N)이라면 1~N 까지의 합이다
2) 시그마 공식을 그대로 써서 계산하면 바로 나오겠지만 이해하기 쉽도록 WL = WR을 말로 정리해보자면
왼쪽 치킨들의 무게 * (받침점 - 왼쪽 치킨들 위치) = 오른쪽 치킨들의 무게 * (오른쪽 치킨들 위치 - 받침점)
왼쪽 치킨들 무게 * 받침점 - 왼쪽 치킨들의 (무게*위치) = 오른쪽 치킨들의 (무게*위치) - 오른쪽 치킨들의 무게* 받침점
왼쪽 (무게 * 받침점) + 오른쪽 (무게 * 받침점) = 오른쪽 (무게*위치) + 왼쪽 (무게 * 위치)
전체 (무게 * 받침점) = 전체 (무게 * 위치)
※ 시그마에서 내부 같은 값 곱은 시그마 밖으로 꺼낼 수 있다.
전체 (무게 * 받침점) = 받침점 * 전체(무게)
받침점 = 전체(무게*위치) / 전체(무게)
3) 이를 코드로 작성하면
전체의 무게*위치 값은 for문을 통해 계산을 누적해준다.
이를 전체 무게로 나누면 받침점 위치를 구할 수 있다.
'백준 > Python' 카테고리의 다른 글
[백준] 2579 계단 오르기 (python 파이썬) (0) | 2022.12.01 |
---|---|
[백준] 26073 외로운 곰곰이는 친구가 있어요 (python 파이썬) (0) | 2022.11.30 |
[백준] 26071 오락실에 간 총총이 (python 파이썬) (0) | 2022.11.28 |
[백준] 1932 정수 삼각형 (python 파이썬) (0) | 2022.11.27 |
[백준] 1912 연속합 (python 파이썬) (0) | 2022.11.27 |