关注
第一题只过了54%,谁能知道为什么?
int main() {
int N;
while (cin >> N) {
// 逐字符读入vector,对B排序
int ok = 0;
for (int i = 0; i < N; ++i) {
int pos = -1;
for (int j = i; j < N; ++j) {
if (B[j] >= A[i] && (pos == -1 || B[j] < B[pos]))
pos = j;
}
if (pos == -1) {
ok = -1;
break;
}
swap(B[i], B[pos]);
if (B[i] > A[i]) {
ok = -2;
sort(B.begin()+i+1, B.end());
// 输出B
break;
}
}
if (ok == -1) {
cout << -1 << endl;
continue;
} else if (ok == -2) {
continue;
}
int imax = N-1;
int i = N-2;
while (i >= 0) {
if (B[i] >= B[imax]) imax = i;
else break;
--i;
}
if (i == -1) {
cout << -1 << endl;
continue;
}
int j = i+1, mpos = -1;
while (j < N) {
if (B[j] > B[i] && (mpos == -1 || B[mpos] > B[j]))
mpos = j;
++j;
}
swap(B[i], B[mpos]);
sort(B.begin()+i+1, B.end());
// 输出B
}
return 0;
}
查看原帖
点赞 2
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 笔试 #
2347601次浏览 27354人参与
# 关于春招你都做了哪些准备? #
76829次浏览 495人参与
# 牛友故事会 #
504924次浏览 11548人参与
# 运营面经 #
94220次浏览 1173人参与
# 职业发展规划如何回答 #
31519次浏览 184人参与
# 机械人的offer怎么选 #
127813次浏览 731人参与
# 大城市找工作会更容易吗 #
7482次浏览 38人参与
# 担心入职之后被发现很菜怎么办 #
112018次浏览 695人参与
# 研究所笔面经互助 #
61469次浏览 416人参与
# 你上一次加班是什么时候? #
43218次浏览 303人参与
# 找工作有哪些冷知识 #
16283次浏览 197人参与
# 面试官是我前女友 #
94064次浏览 712人参与
# 谈薪时HR压价该怎么应对 #
189313次浏览 3042人参与
# 如何KTV领导 #
46376次浏览 367人参与
# 你最希望上岸的公司是? #
111845次浏览 620人参与
# CVTE工作体验 #
8779次浏览 20人参与
# 小米提前批笔试难吗 #
30686次浏览 342人参与
# 上班苦还是上学苦呢? #
210528次浏览 1280人参与
# 得物求职进展汇总 #
84457次浏览 764人参与
# 技术转行的心路历程 #
45665次浏览 651人参与