大佬们救命,为什莫我这个for循环判断不对
查看原帖
大佬们救命,为什莫我这个for循环判断不对
1389641
_Kenba_楼主2024/11/6 21:36
#include<bits/stdc++.h>
using namespace std;
int c,l;
int ans=0;
struct st{
	int minn;
	int maxn;
}h[3000];
struct sl{
	int cnt;
	int shu;
}hh[3000];
bool cmp1(st b,st g){
	return b.maxn<g.maxn;
}
bool cmp2(sl b,sl g){
	return b.shu<g.shu;
}
int main(){
	cin>>c>>l;
	for(int i=1;i<=c;i++){
		cin>>h[i].minn>>h[i].maxn;
	}
	for(int i=1;i<=l;i++){
		cin>>hh[i].shu>>hh[i].cnt;
	}
	sort(h+1,h+c+1,cmp1);
	sort(hh+1,hh+l+1,cmp2);
	for(int i=1,j=1;i<=c;i++){
		if(hh[j].shu<h[i].minn){
			j++;
		}
		if(h[i].minn<=hh[j].shu&&h[i].maxn>=hh[j].shu&&hh[j].cnt>0){
			hh[j].cnt-=1;
			ans++;
		}
		if(j==l&&hh[j].cnt==0){
			break;
		}
		if(hh[j].cnt==0){
			j+=1;
		}
		
	}
	cout<<ans;
	return 0;
}
2024/11/6 21:36
加载中...