#include <iostream>
#include <algorithm>
using namespace std;
const int N = 2e4 + 10;
struct node
{
long long begin;
long long end;
};
node fire[N];
bool cmp(node a, node b)
{
if (a.begin > b.begin)
return false;
else
return true;
}
int main()
{
int n;
cin >> n;
for (int i = 1; i <= n; i++)
{
scanf("%d%d", &fire[i].begin, &fire[i].end);
}
sort(fire + 1, fire + n + 1, cmp);
unsigned long long length = fire[1].end - fire[1].begin;
unsigned long long ed = fire[1].end;
for (int i = 2; i <= n; i++)
{
if (fire[i].begin <= ed && fire[i].end > ed)
{
length += (fire[i].end - ed);
ed = fire[i].end;
continue;
}
if (fire[i].begin >= ed)
{
ed = fire[i].end;
length += fire[i].end - fire[i].begin;
}
}
cout << length;
}
我用vscode的测试插件看了一下,样例1读入数据的for循环,i进行到15872后,只能在输出一个15了,数据从此被截断,读入读入失败,这是为什么?有三个RE的点,七个AC,不明原因