第三题: int main() {     int n, total;     cin >> n >> total;     vector<int> w(total);     vector<float> price(total);     char temp;     float a;     for (int i = 0; i < total; i++) {         cin >> w[i] >> temp >> a;         price[i] = w[i] * a;     }     vector<float> dp(n + 1, 0);     float res = 0;     for (int i = 0; i < total; i++) {         for (int j = n; j > 0 && j >= w[i]; j--) {             dp[j] = max(dp[j], dp[j - w[i]] + price[i]);             res = max(res, dp[j]);         }     }     int k = res;     int t = (res - k) * 10000;     cout << to_string(k) + '.' + to_string(t) << endl;     system("pause");     return 0; }
点赞 3

相关推荐

牛客网
牛客网在线编程
牛客网题解
牛客企业服务