QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#414974 | #7933. Build Permutation | pkien01 | WA | 0ms | 3536kb | C++23 | 812b | 2024-05-20 06:13:53 | 2024-05-20 06:13:54 |
Judging History
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]