我RE的原因难道是数据读入不全???
  • 板块P1496 火烧赤壁
  • 楼主BIOS
  • 当前回复9
  • 已保存回复9
  • 发布时间2023/2/11 21:38
  • 上次更新2023/10/24 01:04:05
查看原帖
我RE的原因难道是数据读入不全???
833124
BIOS楼主2023/2/11 21:38
#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,不明原因

2023/2/11 21:38
加载中...