求助,1AC , 2-5WA
查看原帖
求助,1AC , 2-5WA
399210
元西3333楼主2021/7/19 22:54
# include <stdio.h>
# include <stdlib.h>
typedef struct _node{
	int m , v ;
	double rou ;
}Node , *PNode ;
Node coin[105] ;
int cmp(const void *a , const void *b){
	return (*(PNode )b ).rou - ( *(PNode)a ).rou ;
}
int main(){
	int n , t , i , j , rest = 0 ;
	double value = 0 ; 
	scanf("%d%d",&n,&t) ;
	for (i = 0;i < n;i++){
		scanf("%d%d",&coin[i].m,&coin[i].v) ;
		coin[i].rou = (double)coin[i].v / (double)coin[i].m ;
	}
	qsort(coin , n , sizeof(Node) , cmp) ;
	/*for(i=0;i<n;i++)
		printf("%lf %lf %lf\n",coin[i].m , coin[i].v ,coin[i].rou) ;*/
	rest = t ;
	for(i=0;i<n;i++){
		if (rest >= coin[i].m){
			rest -= coin[i].m ;
			value += coin[i].v ;
		}
		else{
			//int tmp = t - rest ;
			value += rest * ( (double)coin[i].v / coin[i].m ) ;
			break ;
		}
	}
	printf("%.2lf",value) ;
	return 0 ;
}
2021/7/19 22:54
加载中...