rt.我把防晒霜和牛升序排序,只能得38分。但是将它们降序排序,就全A了,有谁告诉我为什么吗?
附上本人代码:
#include <bits/stdc++.h>
using namespace std;
struct s1{
int spfi,spfm;
}cow[100005];
struct s2{
int sp,num;
}spf[100005];
bool cmp(s1 a,s1 b){
return a.spfi>b.spfi;
}
bool cmps(s2 a,s2 b){
return a.sp>b.sp;
}
int main(){
int c,l;
cin>>c>>l;
for(int i=1;i<=c;i++){
cin>>cow[i].spfi>>cow[i].spfm;
}
for(int i=1;i<=l;i++){
cin>>spf[i].sp>>spf[i].num;
}
int ans=0;
stable_sort(cow+1,cow+c+1,cmp);
stable_sort(spf+1,spf+l+1,cmps);
for(int i=1;i<=c;i++){
for(int j=1;j<=l;j++){
if(cow[i].spfi<=spf[j].sp&&cow[i].spfm>=spf[j].sp&&spf[j].num){
ans++;
spf[j].num--;
break;
}
}
}
cout<<ans;
}