sjy366   1년 전

일단, 맞긴 맞았는데... 반례가 있습니다.
아래 코드가 왜  맞았다고 나오는지 모르겠습니다.

푸는 방식은 sum이 해답이고,
total이 입력받은 정수들의 총합으로 놓았습니다.

예를 들어, 2 3 4 를 입력 받았으면

2*3+2*4+3*4 = 2*(3+4) + 3*(4) 이므로,

이런식으로, 앞에서부터 전체합에서 빼주면서
나머지 합과 곱한 걸, 다 더해주는 방식으로 답을 구했습니다.

그런데, 제가 풀면서 생각 났던 반례가

2, 2, 3, 4 를 4개 입력 받았을 때,
즉, 중복된 수가 있을 때에는,
4+6+8+12 = 30 이 나와야 되는데, 위의 방법으로는 그렇지 않습니다. 


문제에, 입력받는 정수가 중복되면 안된다는 조건도 없고,

입력받는 정수의 제한 개수는 100000개인데, 각각의 정수 크기는 0<=n<=10000 제한인걸로 봐서,

이 문제는 중복 허용이라고 봐야됩니다.


그러나, 중복이 있을 경우를 아래의 코드는 커버 못하는데, 맞았다고 나옵니다.

댓글을 작성하려면 로그인해야 합니다.