求救!!!Orz
查看原帖
求救!!!Orz
1148832
LabmemNo_012LzTopic楼主2024/9/3 20:13
#include <iostream>
using namespace std;

int f[3000005] = { 0 }, a[150005], b[150005];

int main()
{
    int n, k, Max = 0, kk;
    cin >> n;
    for (int i = 1; i <= n; i++)
    {
        cin >> a[i] >> b[i];
        Max = max(b[i], Max);
    }
    for (int i = 1; i <= n; i++)
    {
        if(a[i]==0)k = b[i] + 1;
        else k = f[a[i] - 1] + b[i] - a[i] + 1;
        if (f[b[i]] < k)
        {
            kk = k - f[b[i]];
            for (int j = b[i]; j <= Max; j++)
            {
                f[j] += kk;
            }
        }
    }
    printf("%d", f[Max]);
    return 0;
}
2024/9/3 20:13
加载中...