0分求调,样例过了(AC必关)555
查看原帖
0分求调,样例过了(AC必关)555
1313977
BUYA楼主2024/9/21 08:57
#include <stdio.h>
int main()
{
	int n,t;
	scanf("%d%d", &n, &t);
	double arr[101] = { 0 };
	int arr1[101] = { 0 };
	double sum = 0; int heavy= 0;
	int tmp = 0;int tmp1 = 0;
	int a = 0; int b = 0;
	for (int i = 0; i < n; i++)
	{
		scanf("%ld%ld", &a, &b);
		arr[i] = b / a;
		arr1[i] = a;
	}
	for (int i = 0; i < n-1; i++)
	{
		int flag = 1;
		for (int j = 0; j < n - i - 1; j++)
		{
			if (arr[j] < arr[j + 1])
			{
				tmp = arr[j+1];
				arr[j + 1] = arr[j];
				arr[j] = tmp;
				tmp1 = arr1[j+1];
				arr1[j + 1] = arr1[j];
				arr1[j] = tmp1;
				flag = 0;
			}
		}
		if (flag == 1)
		{
			break;
		}
	}
	for (int i = 0; i < n; i++)
	{
		heavy += arr1[i];
		if (heavy < t)
		{
			sum += arr[i] * arr1[i];
		}
		else
		{
			sum += (t-(heavy -arr1[i])) * arr[i];
			break;
		}
	}
	printf("%.2lf", sum);
	return 0;
}
2024/9/21 08:57
加载中...