Gym - 102392I

博弈,思维

题意:

https://codeforces.com/gym/102392/problem/I
##分析
先直接给出方案:
考虑到我们最后将留下a[i]
我们求出对于每个a[i]找差值最小的b[j],即我们选a[i]时最终将会留下b[i]
最后再遍历找出差值最大的a[i]

为什么会这样呢?

我们可以想象,倘若我留下了a[i]那么对方将会留下b[j]以保证差距最小
对方都已经知道了,所有a[i]对应的最小差值的b[j]
那么在每一次博弈中
Alice 拿去a[i]
那么 Bob 拿去b[j] (与a[i]对应的最优b[j])
那么最终无论你Alice取到那个a[i]我Bob都可以选出那个最优的b[j]
既然如此,Alice自然要选出最后对其来说最优的那个a[i]了
考虑到数据范围只有1000我们直接暴力就好

代码如下,注意细节

#include<iostream>
#include<algorithm>
using namespace std;
int n, a[1100], b[1100];

int main() {
    ios::sync_with_stdio(0);
    cin >> n;
    for (int i = 0;i < n;i++)cin >> a[i];
    for (int i = 0;i < n;i++)cin >> b[i];
    int ans = 0;
    for (int i = 0;i < n;i++) {
        int res = 1e9;
        for (int j = 0;j < n;j++) {
            res = min(res, abs(b[j] - a[i]));
        }ans = max(ans, res);
    }cout << ans << endl;
}
全部评论

相关推荐

06-17 00:26
门头沟学院 Java
程序员小白条:建议换下项目,智能 AI 旅游推荐平台:https://github.com/luoye6/vue3_tourism_frontend 智能 AI 校园二手交易平台:https://github.com/luoye6/vue3_trade_frontend GPT 智能图书馆:https://github.com/luoye6/Vue_BookManageSystem 选项目要选自己能掌握的,然后最好能自己拓展的,分布式这种尽量别去写,不然你只能背八股文了,另外实习的话要多投,尤其是学历不利的情况下,多找几段实习,最好公司title大一点的
无实习如何秋招上岸
点赞 评论 收藏
分享
S_Holmes:一想到我苦苦追求的迪子私下里却是985的马子,我的心就在滴血😭😭😭
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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