新年红包的题解

目录

原题描述:

题目描述

题目背景

题目描述

输入格式

输出格式

样例

Input 1

Output 1

Input 2

Output 2

数据范围

主要思路: 

代码code:


原题描述:

题目描述

题目背景

龙飞凤舞迎跨年,瑞雪飘飘送祝愿。愿你在新的一年,万事如意,福运连连。马上就到新年了,每个人都或多或少了收到了新年红包。

题目描述

小埋加了若干个群聊,小埋收集了一下若干个群聊中网友们获得的红包金额,一共收集到了 n 位网友的红包金额,小埋是个喜欢找点事干(太闲了),他想从中任意选取 k 位网友的红包金额,然后求出一个数 x,满足这k 位网友的红包金额都是 x 的倍数。说明这 k位网友的财富度为 x。小埋想知道这个财富度最大值是多少。小埋又菜又喜欢搞事情(找人帮忙)。小埋希望厉害的你能帮他解决这个问题。小埋在这里祝你新年快乐呦。

输入格式

第一行输入两个整数 nk 。

第二行输入n 个整数a_1,a_2,...,a_n

输出格式

输出一个整数,表示财富度最大值。

样例

Input 1
10 3
1 2 3 4 5 6 100 200 300 400
Output 1
100
Input 2
10 5
1 3 5 7 9 2 2 2 2 2 
Output 2
2

数据范围

1 \le n \le 10^5

1 \le k \le n

1 \le a_i \le 10^5

测试点编号n≤a_i\le
1~62010^5
7~1010^5500
11~2010^510^5

主要思路: 

还是来讲讲大部分人的想法:

有些人看到了n<=20,于是,他写了dfs或是二进制枚举,成功拿到了30分。

有些人看到了n<=100000,ai<=500,于是,他写了枚举因子,成功拿到了50分。

最后一种人,求知欲很高,要100分,于是就产生了这种方式:

分解因数+桶。

我们看一下,这道题是选k个数,使这k个数的gcd尽可能大。

我们可以将每个数分解因数,并存入桶。

用样例1解释一下。

1分解成1 tong[1]++;

2分解成1 2tong[1]++;tong[2]++;

3分解成1 3tong[1]++;tong[2]++;

4分解成1 2 4tong[1]++;tong[2]++;tong[4]++;

.

.

.

400分解成1 400 2 200 4 100 5 80 8 50 10 40 16 25 20 20 tong[前面的因子]++;

就是这样。

最后,从10^5枚举到1,如果发现tong[i]>=k就说明有k个数同时包含这个因子,就直接输出(我们从大到小枚举)

注意输入数据多,要用ios优化(用scanf的人不需要)

代码code:

#include<bits/stdc++.h>
using namespace std;
int n,k;
int a[100010];
int tong[100010];
int main()
{
	ios::sync_with_stdio(0);
	cin.tie(0);
	cin>>n>>k;
	for(int i=1;i<=n;i++)
	{
		cin>>a[i];
		for(int j=1;j*j<=a[i];j++)
		{
			tong[j]++; 
			if(j*j!=a[i])
			{
				tong[a[i]/j]++;
			}
		}
//		cout<<tong[2]<<'\n';
	}
//	cout<<tong[2];
	int ans=0;
//	int x=*max_element(a+1,a+1+n);
	for(int i=100010;i>=1;i--)
	{
		if(tong[i]>=k)
		{
			cout<<i;
			return 0;
		}
	}
//	cout<<ans;
	return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/395513.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

陇剑杯 2021刷题记录

题目位置&#xff1a;https://www.nssctf.cn/上有 陇剑杯 2021 1. 签到题题目描述分析答案小结 2. jwt问1析1答案小结 问2析2答案小结 问3析3答案 问4析4答案 问5析5答案 问6析6答案 3. webshell问1析1答案 问2析2答案 问3析3答案 1. 签到题 题目描述 此时正在进行的可能是_…

【Deep Learning 5】自编码和Transformer

&#x1f31e;欢迎来到Pytorch的世界 &#x1f308;博客主页&#xff1a;卿云阁 &#x1f48c;欢迎关注&#x1f389;点赞&#x1f44d;收藏⭐️留言&#x1f4dd; &#x1f31f;本文由卿云阁原创&#xff01; &#x1f4c6;首发时间&#xff1a;&#x1f339;2024年2月19日&a…

互联网使用代理IP的作用

互联网使用代理IP主要有以下作用&#xff1a; 1. 隐私保护&#xff1a; - 使用代理IP&#xff0c;用户的原始IP地址会被代理服务器的IP地址所替代&#xff0c;从而隐藏用户的真实身份和地理位置信息&#xff0c;增加网络匿名性。 2. 安全防护&#xff1a; - 代理服务器可以作为…

基于Java (spring-boot)的校园二手交易平台

一、项目介绍 基于Java (spring-boot)的校园二手交易平台&#xff1a;前端主要包含登录注册、求购商品、发布商品、举报、评论五个核心管理模块。后端则主要包含系统设置、物品管理、学生管理、评论管理、举报管理、新闻公告六个核心管理模块。通过此模式不同属性的用户可在系统…

服务器遭受 DDoS 攻击的常见迹象有哪些?

服务器遭受 DDoS 攻击的现象很常见&#xff0c;并且有时不容易预防&#xff0c;有部分原因是它们的形式多种多样&#xff0c;而且黑客手段越来越隐蔽。如果您怀疑自己可能遭受 DDoS 攻击&#xff0c;可以寻找多种迹象。以下是 DDoS 攻击的5个常见迹象&#xff1a; 1.网络流量无…

微信美容预约小程序开发实战教程,快速上手的技术解析

随着移动设备的普及和互联网技术的不断发展&#xff0c;小程序成为了一种越来越受欢迎的轻量级应用程序。特别是在美容美发行业&#xff0c;小程序可以提供便捷的服务&#xff0c;吸引更多的客户。本文将为您提供一份详细的美容美发小程序开发搭建指南。 注册并登录乔拓云平台&…

扫码即可快速协作:草料二维码底部协作面板功能详解

功能介绍 在二维码上添加 底部协作面板 功能后 &#xff0c;扫码后不仅可以阅读设备信息、产品资料等基本信息&#xff0c;还可以在二维码底部输入内容评论并他人快速协作&#xff0c;支持添加图文、语言、手写签名等操作。 底部协作面板是提供给组织内部成员快速协作的功能&…

机器学习之梯度下降法直观理解

形象化举例&#xff0c;由上图所示&#xff0c;假如最开始&#xff0c;我们在一座大山上的某处位置&#xff0c;因为到处都是陌生的不知道下山的路&#xff0c;所以只能摸索着根据直觉&#xff0c;走一步算一步。在此过程中&#xff0c;每走到一个位置的时候&#xff0c;都会求…

2024热门韩剧推荐

《与恶魔有约》详情介绍_与恶魔有约已完结在线观看_与恶魔有约迅雷下载_连续剧_萌番(゜-゜)つロ 年轻人都在用~-BILFUN - www.bilfun.cc 《杀人者的难堪》详情介绍_杀人者的难堪已完结在线观看_杀人者的难堪迅雷下载_连续剧_萌番(゜-゜)つロ 年轻人都在用~-BILFUN - www.bilfun…

※【回溯】【深度优先前序】Leetcode 257. 二叉树的所有路径

※【回溯】【深度优先前序】Leetcode 257. 二叉树的所有路径 解法0 迭代法解法1 深度优先 前序解法2 深度优先 前序 添加了StringBulider ---------------&#x1f388;&#x1f388;257. 二叉树的所有路径 题目链接&#x1f388;&#x1f388;------------------- 解法0 迭代法…

CI/CD部署

什么是CI&#xff0c;什么是CD CI和CD是软件开发中持续集成和持续交付的缩写。 CI代表持续集成&#xff08;Continuous Integration&#xff09;&#xff0c;是一种实践&#xff0c;旨在通过自动化构建、测试和代码静态分析等过程&#xff0c;频繁地将代码变更合并到共享存储…

探索Linux系统中HTTP隧道技术的原理与实践

在Linux的世界里&#xff0c;HTTP隧道技术就像是一个神秘的魔法师&#xff0c;它能让你的网络请求穿越重重障碍&#xff0c;安全地到达目的地。今天&#xff0c;我们就来一起探索这个魔法师的奥秘&#xff0c;看看它是如何在Linux系统中施展魔法的。 首先&#xff0c;我们要明…

如何通过AI作画?

网址&#xff1a;https://huggingface.co/spaces/prodia/fast-stable-diffusion 模板网址&#xff1a;https://prompthero.com/prompt/96ee86ae9e2 打开模板网址&#xff0c;选择Stable Diffusion 选择图片&#xff0c;复制prompt和Negative prompt 打开https://huggingface.…

代码随想录算法训练营第54天 | 123.买卖股票的最佳时机III 188.买卖股票的最佳时机IV

买卖股票的最佳时机III 最多只能完成两笔交易&#xff0c;那么对于每一天的股票可以有5种状态&#xff1a; 没有操作第一次持有股票第一次不持有股票第二次持有股票第二次不持有股票 所以设计的 dp 数组应该有5个维度&#xff0c;分别计算可能得到的最大利润。对于如何递推&a…

leetcode(算法) 70.爬楼梯(python版)

需求 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢&#xff1f; 示例 1&#xff1a; 输入&#xff1a;n 2 输出&#xff1a;2 解释&#xff1a;有两种方法可以爬到楼顶。 1 阶 1 阶2 阶 示例 2&#xff1…

Vue的个人笔记

Vue学习小tips ctrl s ----> 运行 alt b <scrip> 链接 <script src"https://cdn.jsdelivr.net/npm/vue2.7.16/dist/vue.js"></script> 插值表达式 指令

学习对象原型中的hasOwnProperty()

hasOwnProperty(propertyName)方法 是用来检测属性是否为对象的自有属性&#xff0c;如果是&#xff0c;返回true&#xff0c;否者false; 参数propertyName指要检测的属性名&#xff1b;

【白嫖8k买的机构vip教程】Jmeter_性能测试(2):性能测试的流程和术语

性能测试的流程 一、准备工作 1、系统基础功能验证 一般情况下&#xff0c;只有在系统基础功能测试验证完成、系统趋于稳定的情况下&#xff0c;才会进行性能测试&#xff0c;否则性能测试是无意义的。2、测试团队组建 根据该项目的具体情况&#xff0c;组建一个几人的性能测试…

【软考问题】-- 10 - 知识精讲 - 项目风险管理

一、基本问题 1&#xff1a;按照可预测性&#xff0c;风险分哪三类&#xff1f; &#xff08;1&#xff09;已知风险&#xff1a;如项目目标不明确&#xff0c; 过分乐观的进度计划&#xff0c; 设计或施工变更和材料价格波动等。&#xff08;2&#xff09;可预测风险&#xff…
最新文章