zoukankan      html  css  js  c++  java
  • 《内蒙古自治区第十二届大学生程序设计竞赛试题_G: 最大收益》

    问题 G: 最大收益

    内存限制:128 MB时间限制:1 S标准输入输出
    题目类型:传统评测方式:文本比较上传者:外部导入
    提交:87通过:23

    题目描述

    Elly的叔叔经营一家电脑装配公司ShumenSoft,为了使公司得到最大获益,他们日以继夜地工作着。
    众所周知,一个电脑系统包含一个处理器和显示器。
    在ShumenSoft公司的仓库中有N个处理器和M个显示器。第i个处理器花费Ai美元,第j个显示器花费Bj美元。包含第i个处理器和第j个显示器的电脑系统的价格是Ai*Bj。由于世界金融危机你必须装配尽可能多的电脑系统并且使它们的总价达到最大。
    现在这个任务交给了你,相信你可圆满解决的。

    输入格式

    每组输入数据共3行
    第 1 行:包含两个整数 N 和 M;
    第 2 行:包含 N 个整数,第 i 个数表示第 i 个处理器的价钱 Ai;
    第 3 行:包含 M 个整数,第 j 个数表示第 j 个显示器的价钱 Bj。

    1≤N,M≤100000,1≤Ai,Bj≤100000

    输出格式

    输出数据共1行。
    包含两个整数(用空格隔开)表示最多能组装的电脑系统和他们的最大价钱总和。

    输入样例 复制

    4 2
    1 2 3 4
    5 6
    3 3
    3 2 1
    1 2 3
    

    输出样例 复制

    2 39
    3 14



    解题思路 ,就是从大到小排序,然后最大的两个价值物品相乘,现在感觉这个题,真心简单,但是当时就是没有A出来,也许自己当时真的是太cai 了

    Java ac代码

     1 import java.math.BigDecimal;
     2 import java.util.Arrays;
     3 import java.util.Scanner;
     4 
     5 public class Main {
     6 
     7     public static void main(String[] args) {
     8         Scanner cin = new Scanner(System.in);
     9         while (cin.hasNext()) {
    10             int n = cin.nextInt();
    11             int m = cin.nextInt();
    12             Long[] A = new Long[100010];
    13             Long[] B = new Long[100010];
    14             for (int i = 0; i < n; i++) {
    15                 A[i] = cin.nextLong();
    16             }
    17             for (int i = 0; i < m; i++) {
    18                 B[i] = cin.nextLong();
    19             }
    20 
    21             Arrays.sort(A, 0, n);
    22             Arrays.sort(B, 0, m);
    23 
    24             int min = Math.min(n, m);
    25             BigDecimal sum = new BigDecimal("0");
    26             for (int i = n - 1, j = m - 1; i >= n - min; j--, i--) {
    27                 sum = sum.add(new BigDecimal(A[i] * B[j]));
    28             }
    29             System.out.println(min+" "+sum);
    30 
    31         }
    32     }
    33 }
     
  • 相关阅读:
    PAT 1065. A+B and C (64bit) (20)
    PAT 1042. Shuffling Machine (20)
    PAT 1001. A+B Format (20)
    HDU 2082 找单词 母函数
    NYOJ 138 找球号(二) bitset 二进制的妙用
    POJ 1151 Wormholes spfa+反向建边+负环判断+链式前向星
    POJ 1511 Invitation Cards 链式前向星+spfa+反向建边
    zzuli 2130: hipercijevi 链式前向星+BFS+输入输出外挂
    NYOJ 323 Drainage Ditches 网络流 FF 练手
    POJ 1273 Drainage Ditches 网络流 FF
  • 原文地址:https://www.cnblogs.com/kangxinxin/p/10794247.html
Copyright © 2011-2022 走看看