首页 > 代码库 > PAT 1037 Magic Coupon
PAT 1037 Magic Coupon
#include <cstdio>#include <cstdlib>#include <vector>#include <algorithm>using namespace std;void print(vector<int> &v) { int len = v.size(); for (int i=0; i<len; i++) { printf(" %d", v[i]); } printf("\n");}int main() { int NC, NP; scanf("%d", &NC); vector<int> C(NC); for (int i=0; i<NC; i++) { scanf("%d", &C[i]); } scanf("%d", &NP); vector<int> P(NP); for (int i=0; i<NP; i++) { scanf("%d", &P[i]); } sort(C.begin(), C.end(), greater<int>()); sort(P.begin(), P.end(), greater<int>()); int clen = C.size(); int plen = P.size(); int ci = 0; int pi = 0; int dc, dp; long long sum = 0; while (ci < clen && pi < plen && (dc=C[ci]) > 0 && (dp=P[pi]) > 0) { sum += dc * dp; ci++, pi++; } ci = clen - 1; pi = plen - 1; while (ci >= 0 && pi >= 0 && (dc=C[ci]) < 0 && (dp=P[pi]) < 0) { sum += dc * dp; ci--, pi--; } printf("%lld", sum); return 0;}
有个case 30+ms是不是方法错了?
PAT 1037 Magic Coupon
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。