手机运行时长
米小免新买了一台小米mix fold 2,配备8英寸大屏,骁龙8+处理器和12G内存,拥有强劲性指,后台可以轻松在同一时间运行多款App。假设当后台没有App在运行时,手机进入休眠,否叫手机处于运行状态
i个App的开始运行时间starti,运行结束时间endi,组成第i个App的运行区间intervals[i] =starti, endi].
数组intervals表示今天米小免的mix fold 2的各个App的运行区间的集合,求今天米小兔的手机行了多长时间
样例输入
1 3268 1015 18
样例输出
10
解答-个人思路、仅供参考(C++)
#include <iostream>
using namespace std;
#include <algorithm>
#include <vector>
int main() {
int a, b;
vector<pair<int, int>> vec;
while (cin >> a >> b) { // 注意 while 处理多个 case
vec.push_back({a,b});
}
int sum = 0, start= vec[0].first, end=vec[0].second;
for(int i=1; i< vec.size(); i++)
{
if(vec[i].first > end)
{
sum += end -start;
start = vec[i].first;
end = vec[i].second;
}
else {
end = vec[i].second;
}
}
sum += end-start;
cout << sum;
}