문제1091--[디버깅] 0을 만들자

1091: [디버깅] 0을 만들자

시간제한 : 1.000 sec  메모리제한 : 128 MB  Special Judge

문제 설명

Koreatech 3학년 광성이는 이번 IT융합 프로그래밍 경시대회를 준비하면서 과거년도 문제를 풀어보기로 정했습니다. 그 중에서 아무도 푼 팀이 없던 0을 만들자 - Large를 풀어보기로 했습니다.

0을 만들자 - Large의 문제를 읽은 광성이는 평소에 풀어봤던 느낌의 문제여서 자신감에 가득찬 표정을 하며 코드를 써 내려갔습니다. 한번에 예제 입출력에 대한 답을 낸 광성이는 제출을 했지만 정답을 맞추진 못했습니다.

하지만 아무리 코드를 들여봐도 어디가 틀린지 모르겠는 광성이는 당신에게 디버깅을 요청했습니다.
어떤 입력에 오답이 나오는지 코드를 보고 광성이에게 알려주세요.

int solve(vector<int>& arr) {
  sort(arr.begin(), arr.end());
  int result = 0;
  for (int i = 0; i < arr.size(); i++) {
    int left = i + 1;
    int right = arr.size() - 1;
    while (left < right) {
      int sum = arr[i] + arr[left] + arr[right];
      if (sum == 0) result++;
      if (sum <= 0) left++;
      if (sum >= 0) right--;
    }
  }
  return result;
}

입력 설명

별도의 입력이 주어지지 않습니다.

출력 설명

 solve 함수가 오답을 내는 입력을 넣어주세요. 형식은 0을 만들자 - Large 와 동일하게 첫 줄에는 입력될 숫자의 갯수, 두번째 줄에는 입력될 숫자들을 출력 해 주셔야 합니다.

출처/분류