QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#414974#7933. Build Permutationpkien01WA 0ms3536kbC++23812b2024-05-20 06:13:532024-05-20 06:13:54

Judging History

你现在查看的是最新测评结果

  • [2024-05-20 06:13:54]
  • 评测
  • 测评结果:WA
  • 用时:0ms
  • 内存:3536kb
  • [2024-05-20 06:13:53]
  • 提交

answer

/*input
5
4 2 5 1 3
*/
#include <bits/stdc++.h>

using namespace std;


int main() {
	int n; 
	cin >> n;
	if (n == 1) {
		cout << 0 << endl;
	}
	else {
		vector<int> arr(n);
		for (int i = 0; i < n; i++) cin >> arr[i];
		vector<int> perm(n);
		iota(perm.begin(), perm.end(), 0);
		sort(perm.begin(), perm.end(), [&](int i, int j) {return arr[i] < arr[j];});
		bool sol = true;
		int sum = arr[perm.front()] + arr[perm.back()];
		for (int i = 1; i != n - i - 1; i++) {
			if (arr[perm[i]] + arr[perm[n - i - 1]] != sum) {
				sol = false;
				break;
			}
		}
		if (!sol) {
			cout << -1 << endl;
		} else {
			vector<int> ans(n);
			for (int i = 0; i < n; i++) ans[perm[i]] = perm[n - i - 1];
			for (int i = 0; i < n; i++) cout << ans[i] + 1<< " ";
			cout << endl;
		}
	}
}

详细

Test #1:

score: 100
Accepted
time: 0ms
memory: 3464kb

input:

5
4 2 5 1 3

output:

2 1 4 3 5 

result:

ok 

Test #2:

score: -100
Wrong Answer
time: 0ms
memory: 3536kb

input:

3
2 2 3

output:

3 2 1 

result:

wrong answer Integer 3 violates the range [-1, -1]