首页 > 代码库 > PAT 1070 Mooncake
PAT 1070 Mooncake
题目意思能搞成这样我也是服了这个女人了
#include <cstdio>#include <cstdlib>#include <vector>#include <algorithm>using namespace std;int main() { int N = 0; double D = 0; scanf("%d%lf", &N, &D); vector<pair<double, double> > base(N); vector<double> amount(N); vector<double> price(N); double tmp; for (int i=0; i<N; i++) { scanf("%lf", &amount[i]); } for (int i=0; i<N; i++) { scanf("%lf", &price[i]); base[i].first = amount[i] / price[i]; base[i].second= i; } sort(base.begin(), base.end()); double cur = 0; double mon = 0; int i = 0; while(cur < D && i < N) { int idx = base[i].second; double use = amount[idx]; if ((use + cur) >= D) use = D - cur; mon += use / amount[idx] * price[idx]; cur += use; i++; } printf("%.2lf", mon); return 0;}
PAT 1070 Mooncake
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。