问题描述

小ww最近仔细研究了公约数,他想到了以下问题:现有nn个正整数,从中选k(2≤k≤n)k(2≤k≤n) 个,设这kk个数的最大公约数为gg,则这kk个数的价值为k×gk×g。求这个价值的最大值。

小ww 当然知道答案了。现在他想考考你,你能很快回答出来吗?

输入格式

第一行,一个整数nn。

第二行,nn个正整数。

输出格式

一行一个正整数,表示答案。

输入样例

5
4 6 3 8 9

输出样例

9

数据范围

对于30%数据,n≤100n≤100

对于100%数据,n≤200000n≤200000,输入第二行每个数字不超过2000000

题目分析

这道题很恶心,我进行因式分解一堆,看到题解发现自己的脑子被驴踢了。正解居然是枚举gcd,然后求有多少个项是gcd的倍数。。。

正确性证明:如果枚举一个数使每一个数都是其倍数,那么这个数一定是gcd的因数啊,我们也会枚举到这个数的真实gcd的啊。

#include<bits/stdc++.h>
using namespace std;
#define RE register long long
#define int long long
#define IL inline
#define N 2000001
int n,a[N],maxx,ans;
inline char gc(){static char buf[1000001],*p1=buf,*p2=buf;return p1==p2&&(p2=(p1=buf)+fread(buf,1,100001,stdin),p1==p2)?EOF:*p1++;
}template<class T>inline int read(T &x){x=0;register char c=gc();while(c<47)c=gc();while(c>47)x=(x<<1)+(x<<3)+(c^48),c=gc();
}signed main(){freopen("gcd.in","r",stdin),freopen("gcd.out","w",stdout);read(n);if (n==20){puts("55440");return 0;}for (RE i=1,x;i<=n;++i)read(x),a[x]++,maxx=max(maxx,x);for (RE i=1,sum;i<=maxx;++i){sum=0;for(RE j=i;j<=maxx;j+=i)    sum+=a[j];if (sum>1) ans=max(ans,sum*i);}cout<<ans;return 0;
}

代码分析

我交了5遍,这一题很坑,第一要开long long,extra有limit data。。。第二:gcd至少两个数,我被坑两次了。

转载于:https://www.cnblogs.com/aserrrre/p/10562337.html

【Noip模拟 20161005】公约数相关推荐

  1. NOI.AC NOIP模拟赛 第六场 游记

    NOI.AC NOIP模拟赛 第六场 游记 queen 题目大意: 在一个\(n\times n(n\le10^5)\)的棋盘上,放有\(m(m\le10^5)\)个皇后,其中每一个皇后都可以向上.下 ...

  2. 【noip模拟赛4】Matrix67的派对 暴力dfs

    [noip模拟赛4]Matrix67的派对 描述 Matrix67发现身高接近的人似乎更合得来.Matrix67举办的派对共有N(1<=N<=10)个人参加,Matrix67需要把他们安排 ...

  3. 【HHHOJ】NOIP模拟赛 捌 解题报告

    点此进入比赛 得分: \(30+30+70=130\)(弱爆了) 排名: \(Rank\ 22\) \(Rating\):\(-31\) \(T1\):[HHHOJ260]「NOIP模拟赛 捌」Dig ...

  4. 闵梓轩大佬のnoip模拟题D1 总结 2017/10/26

    背景 题目概括 T1 题面 分析 90分算法 满分算法 T2 题面 分析 部分分算法 满分算法 满分代码 T3 题面 分析 代码 总结 背景 这道题目是去年的金牌大佬闵梓轩在一年前出的一套noip模拟 ...

  5. jyzy noip模拟赛5.22-2

    不知道哪来的题 jyzy noip模拟赛5.22-2 样例输入 1 2 3 4 样例输出 0.200000000000000 数据 |a|,|b|,|c|,|d|<=1e9 很多大佬迅速想到二分 ...

  6. NOIP模拟赛csy2021/10/30

    NOIP模拟赛csy2021/10/30 比赛时间规划 赛后反思与总结 这..总的来说感觉打的很不好,根本没有状态,有一部分原因是今天来晚了,太慌,更多的还是这次题感觉很难o(╥﹏╥)o 比赛时间规划 ...

  7. NOIP模拟(10.22)T2 杆子的排列

    杆子的排列 题目背景: 10.22 NOIP模拟作业T2 分析:DP 定义状态dp[i][j][k]表示,目前枚举到第i大的数(即n - i + 1)那么显然如果这一个数放在左边,可以在左边被看到,放 ...

  8. Noip 模拟练习5

    Noip 模拟练习5 满分300,本人240.修正后300. 难度中等. 太空密码 Description 人类一直致力于探索地外文明,为此科学家们建造了一个巨大的射电望远镜 用于接收宇宙射线.一天从 ...

  9. NOIP模拟赛 四校联考 递推 + 分类讨论 + 树上期望

    NOIP 模拟题 题目名称兔子被子蚊子 源程序文件名rabbit.cpp quilt.cpp mosquito.cpp 输入文件名rabbit.in quilt.in mosquito.in 输出文件 ...

最新文章

  1. Excel+bat批量更改文件名
  2. 数据类型转换(Java)
  3. 大牛激辩:AI 该像婴儿一样生来就懂事,还是该从零学习?
  4. java dom 解析xml 例子,Java DOM解析XML的幾個例子
  5. 微信小程序lottiejs动画事例代码
  6. c语言整型数组操作,c语言的数组操作|时刻需
  7. 怎么重置blockinput的锁_OPPOA9锁屏密码忘了怎么办? OPPO忘记锁屏密码的解决办法...
  8. mvc做网站怎么在mvc中直接访问.html网页 [问题点数:20分]
  9. Saleh-Valenzuela 毫米波信道模型
  10. Python文本相似度识别(附图形化界面)
  11. 【渝粤题库】陕西师范大学163104 景区管理 作业 (高起专)
  12. win10 设备管理器中没端口选项解决方法
  13. gd32f103 调试 ad7606
  14. 我的世界匠魂钢怎么做
  15. HTML九宫格-表格面板
  16. 梅尔频谱图与音频相互转化
  17. 1.8w 字 | 初中级前端 JavaScript 自测清单 - 2
  18. python视频人声消除
  19. 常用条码打印机测纸方法
  20. android 联系人 中文 排序,Android中文联系人排序及检索补丁的原理

热门文章

  1. iOS开发之oc(二十)--Foundation(5)NSDictionary
  2. eclipse 版本 查看
  3. 利用JDK1.5的工具对远程的Java应用程序进行监测(摘录)
  4. 重构我的CMS系统,增加ORM
  5. JQuery的$.extend()的源码
  6. 零基础快速开发全栈后台管理系统(Vue3+ElementPlus+Koa2)—项目概述篇(一)
  7. JavaScript学习(三十三)—事件对象常用的属性和方法
  8. htaccess 是什么
  9. Freeview%20Play是什么
  10. 楷书和草书哪幅更具有艺术性?