5 条题解

  • 0
    @ 2023-1-6 18:06:43
    #include<bits/stdc++.h>
     using namespace std;
    const int MAXN=5000;
    struct cow{
       int minSPF,maxSPF;
    }c[MAXN];
    int SPF[MAXN],cover[MAXN];
    int L,C;
    int J=0;
    bool myc(cow a,cow b) { return a.minSPF>b.minSPF; }
    int main()
    {
       cin>>C>>L;
       for(int i=1;i<=C;i++) scanf("%d %d",&c[i].minSPF,&c[i].maxSPF);
       sort(c+1,c+C+1,myc);
       for(int i=1;i<=L;i++) scanf("%d %d",&SPF[i],&cover[i]);
       for(int i=1;i<=C;i++)
       {
       	int x=c[i].minSPF,y=c[i].maxSPF;
       	int use=-1,num;
    	for(int j=1;j<=L;j++)
       	 if(SPF[j]>=x && SPF[j]<=y && cover[j] && SPF[j]>use )  use=SPF[j],num=j;	
       	if(use!=-1) { J++; cover[num]--;} 
       }
       cout<<J;
    } 
    
    

    信息

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