第一个点没过其他都过了
查看原帖
第一个点没过其他都过了
1656335
Shiina_Taki楼主2025/2/1 23:29

如题,希望大佬有闲心帮忙看看

#include<iostream>
using namespace std;
int main() {
	int N, T; cin >> N >> T;
	double M[100], V[100], R[100];
	for (int i = 0; i < N; i++) {
		cin >> M[i] >> V[i];
		R[i] = V[i] / M[i];
	}
	int max = 0;
	double tal = 0;
	for (int i = 0; i < N; i++) {
		for (int i = 0; i < N; i++) {
				if (R[i] >= R[max]) {
					max = i;
				}
			
		}
		T -= M[max];
		tal += V[max];
		if (T < 0) {
			tal -= (-T) * R[max];
			printf("%.2f", tal);
			return 0;
		}
		R[max] = 0;
	}
	return 0;
}
2025/2/1 23:29
加载中...