[最大公约数] 枚举/暴力
Description
给定 n 个数, 从中选出 K 个。
Alice 想让 K 个数的最大公约数尽可能大, 求最大的最大公约数。 n <= 5e5
Solution
注意到数据范围,可以直接暴力从大到小枚举最大公约数,判断是否有大于K个的他的倍数,如果找到直接输出即可
Code
#include<bits/stdc++.h>
#define mem(a,b) memset(a,b,sizeof(a))
typedef long long ll;
typedef unsigned long long ull;
using namespace std;
int cnt[600000 + 10];
int main() {
//freopen("test.txt", "r", stdin);
ios::sync_with_stdio(false);
cin.tie(0);
int N, K;
cin >> N >> K;
int maxx = -1;
int temp;
for (int i = 1; i <= N; i++) {
cin >> temp;
cnt[temp]++;
maxx = max(maxx, temp);
}
for (int i = maxx; i >= 1; i--) {
int co = 0;
for (int j = i; j <= maxx; j += i) {
co += cnt[j];
if (co >= K) {
cout << i << endl;
return 0;
}
}
}
return 0;
}
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 内存占用高分析
· .NET Core GC计划阶段(plan_phase)底层原理浅谈
· .NET开发智能桌面机器人:用.NET IoT库编写驱动控制两个屏幕
· 用纯.NET开发并制作一个智能桌面机器人:从.NET IoT入门开始
· 一个超经典 WinForm,WPF 卡死问题的终极反思
· 支付宝事故这事儿,凭什么又是程序员背锅?有没有可能是这样的...
· 在线客服系统 QPS 突破 240/秒,连接数突破 4000,日请求数接近1000万次,.NET 多
· C# 开发工具Visual Studio 介绍
· 在 Windows 10 上实现免密码 SSH 登录
· C#中如何使用异步编程