문제
이 문제는 인터렉티브 문제이다.
당신은 파일의 첫 줄에 "art.h"를 include하여야 한다.
당신은 void solve(int n)을 작성하여야 한다.
길이 n의 1부터 n까지 중복 없이 이루어진 순열 하나가 숨겨져 있으며, 당신은 해당 순열을 정확하게 찾아내야 한다.
사용할 수 있는 함수는 다음과 같다 :
int publish(vector<int>) : 길이 n의 1부터 n까지 중복 없이 이루어진 순열을 인자로 보내야 한다. 해당 함수는 숨겨진 순열과 인자로 받은 순열을 비교한다. 수 i의 숨겨진 순열에서의 위치를 x[i], 인자로 받은 순열에서의 위치를 y[i]라고 하자. 이 때, 해당 함수는 x[i]<x[j]이며 y[i]>y[j]은 순서쌍 (i, j)의 총 개수를 리턴한다.
void answer(vector<int>) : 길이 n의 1부터 n까지 중복 없이 이루어진 순열을 인자로 보내야 한다. 해당 함수를 호출하면, 그 즉시 프로그램이 종료된다. 인자로 받은 순열이 숨겨진 순열과 완전히 동일한 경우 정답을 받을 수 있다.
publish 함수는 최대 n번 호출할 수 있다.
입력
제출하는 코드는 입력과 출력을 받지 않아야 한다.
1 <= n <= 4000
힌트
출처
BOI 2022 Day 1