题型:编程题
维修任务
在一条商业街上,有 100个店铺,店铺从左到右编号为 1 到 100。工人从店铺 x 移动到 y 发生的移动距离为 ∣y - x∣。
现在需要完成 n 个修理任务。其中第 i 个任务要求工人移动到店铺 ai,报修任务分两类,用 L 表示任务分配给小李,用 R 表示任务分配给小任。必须按照报修的顺序来完成这些任务。
请计算,完成所有修理任务后,两位工人的总移动的总距离。工人最开始的位置可以按照最理想的情况安排。
时间限制:1000ms,内存限制:256MB
输入格式
第一行:一个整数 n,表示搬运次数;
接下来 n 行,每行一个整数 ai 表示商店位置,一个字符 Si 表示哪位工人完成。
输出格式
输出所有任务完成时的最小总距离。
输入样例#1
4 3 L 6 R 9 L 2 R
输出样例#1
10
输入样例#2
3 2 L 2 L 99 L
输出样例#2
97
输入样例#3
8 22 L 75 L 26 R 45 R 72 R 81 R 47 L 29 L
输出样例#3
154
数据范围:
1≤N≤100,1≤ai≤100,si∈{L, R}。
更新时间:2025-10-29 13:47:51
|
【知识点】
电子学会C/C++二级
抱歉! 您未登录, 不能查看答案和解析点击登录
相似题推荐
单选题
执行以下C++代码,输入`65`后,输出结果是?( )
int grade; cin >> grade; if(grade >= 90) cout << "优秀"; else if(grade >= 70) cout << "良好"; else if(grade >= 60) cout << "及格"; else cout << "不及格";
| A. 优秀 |
B. 良好 |
| C. 及格 |
D. 不及格 |
2026-07-10
单选题
以下C++数组定义中,正确的是?( )
| A. 整数 arr[4] = {1,2,3,4,5}; |
B. 整数 arr[] = {5,4,3,2,1}; |
| C. int n=-5;内通 arr[n]; |
D. 整数 arr[5] = ; |
2026-07-10


