아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

Vier

시간 제한2초메모리 제한256 MB

요약
무작위 순열이 주어질 때, 인덱스 합과 순열 값 합이 각각 n에 대해 같은 두 개의 서로 다른 쌍을 찾는다.
난이도

어려움10점 중 8점

유형
해시맵, 수학, 조합론, 구현
정답자
아직 제출이 없습니다

문제

"Oha" 문제에서 만든 온라인 게임에는 nn 종류의 몬스터가 있다. 몬스터 종류는 1부터 nn까지 번호가 붙어 있고, ii번째 종류의 몬스터는 힘 ii와 마법 능력 πi\pi_i를 가진다. 모든 마법 능력은 1부터 nn까지의 서로 다른 정수이다. 즉 π\pi는 순열이다. 편의상 이 순열은 균등한 확률로 무작위로 생성되었다.

이제 게임 양 진영의 시작 팀을 정해야 한다. 각 진영의 시작 팀에는 정확히 두 마리의 몬스터가 있어야 하며(같은 종류여도 된다), 두 시작 팀은 서로 달라야 한다. 다만 게임의 균형을 위해 두 시작 팀은 힘의 합이 nn으로 나눈 나머지가 같아야 하고, 마법 능력의 합도 nn으로 나눈 나머지가 같아야 한다.

더 형식적으로는, 1과 nn 사이의 네 정수 aa, bb, cc, dd를 찾아 다음을 만족해야 한다:

  1. a+b≡c+d(modn)a+b \equiv c+d \pmod{n}이고,
  2. πa+πb≡πc+πd(modn)\pi_a + \pi_b \equiv \pi_c + \pi_d \pmod{n}이다.

위 조건은 a=ca=c이고 b=db=d일 때, 또는 a=da=d이고 b=cb=c일 때 자명하게 참이다. 이 외의 해를 찾거나, 그러한 해가 없음을 보고해야 한다. 네 정수 중 일부가 서로 같아도 된다. 유일한 제약은 바로 앞 문장에서 설명한 두 가지 방식으로 같아서는 안 된다는 것이다.

입력

입력 파일의 첫째 줄에는 정수 nn이 주어진다. (2≤n≤1062 \le n \le 10^6) 둘째 줄에는 1과 nn 사이의 서로 다른 정수 nn개가 주어진다. 이 중 ii번째 정수가 πi\pi_i의 값이다.

이 순열은 nn개 정수의 모든 순열 중에서 균등한 확률로 무작위로 선택되었음이 보장된다.

출력

자명하지 않은 해가 존재하면 출력 파일의 첫째 줄에 Ja를, 그렇지 않으면 Nein을 출력한다. Ja를 출력한 경우 둘째 줄에 1과 nn 사이의 네 정수 aa, bb, cc, dd를 출력한다.

힌트

이 문제에는 예제가 아닌 테스트케이스가 50개 있다.

예제1

  1. 예제 1

    입력
    5
    2 4 3 5 1
    
    예상 출력
    Ja
    5 5 1 4