1 条题解

  • 0
    @ 2025-6-16 20:56:03
    
    #include<iostream>
    #include<algorithm>
    
    #define x first
    #define y second
    using namespace std;
    
    typedef pair<int,int>PII;
    const int N = 2510;
    
    PII a[N],b[N];
    int n,m;
    
    int main()
    {
    	cin>>n>>m;
    	for(int i=0;i<n;i++) cin>>b[i].x>>b[i].y;
    	for(int i=0;i<m;i++) cin>>a[i].x>>a[i].y;
    	sort(a,a+m);sort(b,b+n);
    	int ans=0;
    	for(int i=n-1;i>=0;i--)
    		for(int j=m-1;j>=0;j--)
    			if(b[i].x<=a[j].x && a[j].x<=b[i].y && a[j].y)
    			{
    				ans++;
    				a[j].y--;
    				break;
    			}
    	cout<<ans<<endl;
    	return 0;
    }
    
    

    对防晒霜按 SPF 升序排序,每次处理当前防晒霜,就将所有 SPF 小于等于该 SPF 值的牛入队,此时入队的牛也是其后处理的防晒霜的可能涂抹对象。为了使防晒的牛数量最大,当前处理的防晒霜选择优先队列中 SPF 最大值最小的牛进行涂抹。

    • 1

    信息

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