1 条题解

  • 0
    @ 2023-1-8 12:32:35
    #include <iostream>
    #include <cstring>
    #include <algorithm>
    #include <queue>
     
    using namespace std;
     
    struct node
    {
        int b, e;
        int t;
        friend bool operator < (node a, node b)
        {
            return a.e<b.e;
        }
    }se[5005];
     
    bool vis[30005];
     
    int main()
    {
        int n, h;
        int ans;
        cin>>n>>h;
        memset(vis, 0, sizeof(vis));
        for(int i=1; i<=h; i++)
        {
            cin>>se[i].b>>se[i].e>>se[i].t;
        }
        sort(se+1, se+h+1);
        ans=0;
        for(int i=1; i<=h; i++)
        {
            int cnt=0;
            for(int j=se[i].b; j<=se[i].e; j++)
            {
                cnt+=vis[j];
            }
            for(int j=se[i].e; j>=se[i].b && cnt<se[i].t; j--)
            {
                if(!vis[j])
                {
                    vis[j]=1;
                    cnt++;
                    ans++;
                }
            }
        }
        cout<<ans<<endl;
        return 0;
    }
    

    信息

    ID
    283
    时间
    1000ms
    内存
    512MiB
    难度
    10
    标签
    递交数
    1
    已通过
    1
    上传者