6 条题解

  • 0
    @ 2025-3-29 18:58:40

    #include #include <bits/stdc++.h> using namespace std; #define int long long

    const int maxn=2510; pair<int,int>cows[maxn]; int n,m; signed main(){ cin>>n>>m; for(int i=0;i<n;i++)cin>>cows[i].first>>cows[i].second; sort(cows,cows+n);

    map<int,int>spfs;
    for(int i=0;i<m;i++){
        int spf,cover;
        cin>>spf>>cover;
        spfs[spf]+=cover;
    }
    
    int res=0;
    
    //spfs[0]=spfs[1001]=n;
    
    for(int i=n-1;i>=0;i--){
        
        auto cow=cows[i];
        auto it=spfs.upper_bound(cow.second);
        it--;
        if(it->first>=cow.first && it->first<=cow.second){
            res++;
            if(--it->second==0)spfs.erase(it);
        }
    }
    
    cout<<res<<endl;
    

    }

    信息

    ID
    22
    时间
    1000ms
    内存
    128MiB
    难度
    1
    标签
    递交数
    134
    已通过
    93
    上传者