求调,C语言,新手。
查看原帖
求调,C语言,新手。
1526602
flashfear楼主2024/11/2 20:43

对了第3,5个测试点。 我的想法是取有效高度的数据进num数组,再找最小力气计算。

#include<stdio.h>
int main(){
	int n,s,a,b,j=1;
	int count=0,x,y;
	scanf("%d%d%d%d",&n,&s,&a,&b);
	int num[5001][2]={0};
	
	for(int i=1;i<=n;i++){
		scanf("%d%d",&x,&y);
		if(x<=(a+b)){
			num[j][0]=x;
			num[j][1]=y;
			j++;
		}
	}
	
	j--;
	while(1){
		int min=1;
		for(int i=1;i<j;i++){
			if(num[min][1]>num[i][1])
				min=i;	
		}
		
	if(s>=num[min][1]&&num[min][1]!=999){
		s-=num[min][1];
		count++;
		num[min][1]=999;
	}else break;
		
	}
		
	printf("%d",count);
	
	return 0;
}
2024/11/2 20:43
加载中...