만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

리본 (Easy)

면접 대비

시간 제한1초메모리 제한1024 MB

요약
N개의 리본마다 위치, 길이, 색이 주어집니다. 색이 다르고 서로 매듭으로 묶을 수 있는 리본 쌍을 찾고, 없으면 NO를 출력합니다.
난이도

쉬움10점 중 2점

유형
완전 탐색, 구현
정답자
아직 제출이 없습니다

문제

수직선 위의 점에 묶인 리본 NN개가 주어진다. ii번째 (1≤i≤N)(1 \le i \le N) 리본은 점 XiX_i에 묶여 있고, 길이는 LiL_i이다. 리본의 색은 CiC_i이며, R, Y, B 중 하나이다. 각각 빨강, 노랑, 파랑을 뜻한다.

두 리본을 골라 매듭을 지으려고 한다. 리본은 탄성이 좋지 않아서 길이를 늘릴 수는 없지만, 구부릴 수는 있다. 즉, ∣Xi−Xj∣≤Li+Lj|X_i - X_j| \le L_i + L_j (i≠j)(i \ne j)를 만족하면 ii번째와 jj번째 리본으로 매듭을 지을 수 있다. 리본은 면적이 없는 선으로 가정하며, 매듭의 길이는 무시한다. 두 리본의 색이 다르면, 즉 Ci≠CjC_i \ne C_j이면 그 매듭을 아름다운 매듭이라고 부른다.

아름다운 매듭을 지을 수 있는 두 리본의 번호를 구하는 프로그램을 작성하시오.

입력

첫째 줄에 정수 NN이 주어진다.

둘째 줄에 정수 NN개 X1,X2,⋯ ,XNX_1, X_2, \cdots, X_N이 주어진다.

셋째 줄에 정수 NN개 L1,L2,⋯ ,LNL_1, L_2, \cdots, L_N이 주어진다.

넷째 줄에 문자 NN개 C1,C2,⋯ ,CNC_1, C_2, \cdots, C_N이 주어진다.

출력

정답이 존재하면 첫째 줄에 YES, 없으면 NO를 출력한다.

정답이 존재하면 둘째 줄에 아름다운 매듭을 지을 수 있는 두 리본의 번호를 출력한다.

답이 여러 개라면 아무 것이나 출력해도 된다.

제한

  • 2≤N≤1032 \le N \le 10^3
  • −109≤X1<X2<⋯<XN≤109-10^9 \le X_1 < X_2 < \cdots < X_N \le 10^9
  • 1≤Li≤1091 \le L_i \le 10^9
  • CiC_i는 R, Y, B 중 하나이다.

예제2

  1. 예제 1

    입력
    2
    1 3
    1 1
    Y R
    
    예상 출력
    YES
    1 2
    
  2. 예제 2

    입력
    2
    -4 1
    1 2
    B B
    
    예상 출력
    NO