首页 > 试题广场 >

得分最大

[编程题]得分最大
  • 热度指数:402 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
牛牛和妞妞从他们的好朋友果果处得到了两个盒子,盒子里是一些写了分值的彩球。牛牛和妞妞发现两个盒子里的彩球数目是相等的,就决定一人一个。

妞妞拿到自己的盒子之后,决定跟牛牛玩一个游戏,规则如下:

一开始两个人盒子里的彩球数目都是n个,由妞妞先手,两人轮流实行下面两个操作中的一个(只能选其中一个执行,不能不执行。),直到两个盒子里的彩球都被拿完位置。

1、从自己的盒子里选一个球拿出来,把球上面的分值加在自己的总得分上边。
2、从对方的盒子里选一个球拿出来,把这个球移出游戏(对方不能再拿这个球)。

妞妞和牛牛都十分聪明,不会出错,并且尽可能让自己的得分比对方多。妞妞想知道,在游戏结束的时候,他能比牛牛多得多少分呢?

输入描述:
第一行一个数字n,表示盒子里初始彩球的数目。
第二行n个数字ai,表示妞妞盒子里第i个彩球的分值是ai
第三行n个数字bi,表示牛牛盒子里第i个彩球的分值是bi


输出描述:
一个整数ans,表示游戏结束的时候妞妞比牛牛多的分值。
示例1

输入

3
2 7 7
2 8 7

输出

0
示例2

输入

2
2 3
4 5

输出

-1

备注:
1<=n<=100000
1<=ai<=1000000
1<=bi<=1000000
头像 大厂算法岗必拿下
发表于 2021-09-02 19:29:53
贪心算法,各种情况下都是对自己为有利。 其他技巧看注释。 #include <bits/stdc++.h> using namespace std; //函数只能在外部定义 bool cmp(int i, int j){ return i>j; } int 展开全文

热门推荐

通过挑战的用户

得分最大