Codeforces Round 1014 (Div. 2)2092A - Kamilka and the Sheep c++

作者昨天第一次打cf,就取得了通过0题(+369)的好成绩

Div.2对于作者来说还是太难了点。。。

下面是A题的题目以及题解

题目链接k

可以概括为:如何选出两个数,加上d,使它们的gcd最大?

如果直接暴力求解会超出时间限制(像作者一样)

不过该题可以做一些数学上的转化

对于两个数ai和aj,加上d后是ai+d和aj+d,求gcd,可以根据gcd的性质做出转化(辗转相除法)

当aj+d是ai-aj的倍数时,gcd可以最大化,此时gcd=ai-aj

所以我们只要找到max和min然后相减就行

cpp 复制代码
#include <iostream>
using namespace std;
int main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    int t;
    cin >> t;
    while (t--) {
        int n, k;
        cin >> n;
        int max, min;
        cin >> k;
        max = min = k;
        for (int j = 1; j < n; j++) {
            cin >> k;
            if (k > max) max = k;
            if (k < min) min = k;
        }
        cout << (max - min) << "\n";
    }
    return 0;
}
相关推荐
渊鱼L10 小时前
CAD随机颗粒插件2D V2.0 更新说明
算法
Lazionr10 小时前
unordered_map和unordered_set的使用
开发语言·c++·算法
行者全栈架构师10 小时前
从 55% 到 6%:一个快餐营养规划器的算法迭代实录
后端·算法·架构
进化中的刀盾兽10 小时前
从零实现 C++ Json-Rpc(九):从 TCP 字节流中拆出完整消息——MuduoBuffer 与 LVProtocol
c++·rpc
Xiu Yan10 小时前
Python 数据分析:数据分析步骤
开发语言·python·数据分析
Laurie三省10 小时前
现场版却配上录音室版的歌词?聊聊我给开源 Mac 歌词软件写的多源打分算法
算法·macos·go
黑妹天下第一乖10 小时前
小智改造实战解读-用kokoro-onnx替换云端 TTS 的完整记录
大数据·开发语言·人工智能·python·交互
郑州光合科技余经理10 小时前
本地生活平台搭建:跨业态用户标识怎么贯通
java·开发语言·前端·后端·uni-app·php·ai编程
对空六课10 小时前
Vue 组件曝光埋点为什么会重复触发?去重方案与实现思路
服务器·前端·算法·数据分析
HZY1618yzh10 小时前
下一代编程语言出炉
c++·算法