暴力100%: int n; cin >> n; vector<int> l, r,dis, v(n, -1); for (int i = 0; i < n; ++i) { int m; char ch; cin >> m >> ch; if (ch == 'L') l.push_back(m); else r.push_back(m); dis.push_back(m); } sort(l.begin(), l.end()); sort(r.begin(), r.end()); int index1 = -1, index2 = -1; do { int md = INT_MAX; index1 = -1, index2 = -1; for (int j = 0; j < l.size(); ++j) { for (int k = 0; k < r.size(); ++k) { int d = l[j] - r[k] if (d > 0&&d%2==0) { if (d < md) { md = d; index1 = j; index2 = k; } } } } if (index1 != -1 && index2 != -1) { int i1 = find(dis.begin(), dis.end(), l[index1]) - dis.begin(); int i2 = find(dis.begin(), dis.end(), r[index2]) - dis.begin(); v[i1] = (l[index1] - r[index2]) / 2; v[i2] = (l[index1] - r[index2]) / 2; l.erase(l.begin() + index1); r.erase(r.begin() + index2); } } while (index1 != -1 && index2 != -1); for (int i : v) cout << i << endl;
1 1

相关推荐

不愿透露姓名的神秘牛友
2025-12-10 03:35
点赞 评论 收藏
分享
2025-12-13 14:51
已编辑
井冈山大学 算法工程师
龙虾x:算法比你强的没有你美,比你美的…..算了已经没有比你美的了
工作两年想退休了
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务