이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <bits/stdc++.h>
using namespace std;
int main(void) {
	int n;
	cin >> n;
	vector <int> Q(n);
	function <int(vector <int>)> check=[&](vector <int> a) {
		vector <int> ex = {3, 2, 4, 1};
		vector <int> res;
		for(int i = 0; i < n; i ++) {
			int cnt = 0;
			for(int mask = 0; mask < (1 << (i+1)); mask ++) {
				vector <int> ans;
				for(int j = 0; j < n; j ++) {
					if((mask & (1 << j))!=0) {
						ans.push_back(a[j]);
					}
				}
				if(is_sorted(ans.begin(), ans.end())) {
					cnt ++;
				}
			}
			cnt --;
			if(cnt != Q[i]){
				return 0;
			}
		}
		return 1;
	};
	for(int i =0; i < n; i ++) cin >> Q[i];
	vector <int> permutation(n);
	iota(permutation.begin(), permutation.end(), 1);
	do{
		if(check(permutation)) {
			for(auto i : permutation) cout << i << " ";
			return false;
		}
	}while(next_permutation(permutation.begin(), permutation.end()));
	return false;
}
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... |