RiseOJ는 solved.ac와 제휴 관계가 없습니다. 티어 아이콘 © solved.ac. solved.ac
포럼
R03330

Two Sum

Silver IV 실버 IV
난이도
2s
시간 제한
256MB
메모리 제한
0
맞았습니다!!
0
제출 수
0.0%
정답률
레이팅

의견: 0

설명

n개의 양의 정수로 이루어진 배열이 주어집니다. 여러분이 해결해야 할 과제는 배열 안에서 합이 정확히 x가 되는 서로 다른 위치(인덱스)의 두 원소를 찾는 것입니다.

입력

첫째 줄에 배열의 크기 n과 목표 합 x가 공백을 사이에 두고 주어집니다.
둘째 줄에 n개의 정수 a1, a2, ..., an이 공백으로 구분되어 주어집니다.

출력

합이 x가 되는 두 원소의 위치(1부터 시작하는 인덱스)를 공백으로 구분하여 출력합니다.
하나의 쌍을 출력할 때는 *두 인덱스 중 작은 인덱스를 먼저 출력*합니다.

만약 합이 x가 되는 정답 쌍이 여러 개라면, 아래의 우선순위에 따라 단 하나의 쌍만 출력합니다.

  • 첫 번째로 출력되는 인덱스가 가장 작은 쌍을 선택합니다.

  • 만약 첫 번째 인덱스마저 같다면, 두 번째로 출력되는 인덱스가 가장 작은 쌍을 선택합니다.

합이 x가 되는 쌍이 존재하지 않는다면 *IMPOSSIBLE*을 출력합니다.

제약 조건
  • 1 ≤ n ≤ 200,000

  • 1 ≤ x ≤ 1,000,000,000

  • 1 ≤ ai ≤ 1,000,000,000

제약
입력 형식

First line \(n\) and \(x\); second line \(n\) integers (\(1 \le a_i \le 10^9\)).

출력 형식

Print the two indices, or IMPOSSIBLE.

예제 1
입력
4 8
2 7 5 1
출력
2 4
문제 정보

riseoj 작성

출처 Online Judge > GoldOJ

평가 및 의견

Two Sum

개요
출제자 난이도 Silver IV 실버 IV 의견 0 / 50 공개 집계 (커뮤니티 난이도, 주요 주제, 품질)는 의견이 충분히 모이면 공개됩니다.

Log in to rate problems.

개별 의견

아직 의견이 없습니다. 자격이 된다면 위 양식에서 가장 먼저 평가해 보세요.

풀이 제출

Two Sum

게스트로 둘러보고 있습니다. 로그인하면 풀이를 제출하고 진행 상황을 확인할 수 있습니다. 로그인하고 제출하기
공개
C++20 Tab 들여쓰기 · Ctrl+/ 주석 토글 · Enter 자동 들여쓰기
1 1 1 0 공백: 4 · UTF-8