队内赛T2结论题看错题的产物改编而来的产物
Posted SSL_ZZL
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了队内赛T2结论题看错题的产物改编而来的产物相关的知识,希望对你有一定的参考价值。
队内赛T2 看错题的产物改编而来的产物
题目
原题是这样的:
输入输出样例
输入 #1
6
1 2 3 4 5 6
输出 #1
6
解题思路
“KJ,你说有没有一种可能,我输出最大值能拿多少分”
事实证明,能拿100,😅😅然而我没打 🐮🐴🖐🏻
设一共有 n 个数,n 个数中最大值为 maxn, 而答案中的最大公约数为 x
如果只选一个maxn,那么答案为maxn,而序列个数为maxn / x
可以发现,即使 x 是 n 个数的最大公约数(也就是序列长度为 n ),n 也一定小于 maxn / x
因为所有数都是不同的,所以。。。我也不是很会证。。。😅😅🖐🏻
在顺序序列中(以x = 2举例),2的倍数2,4,6,8,10…(顺序会使n最大)
而分解出来,2 * 1,2 * 2,2 * 3,2 * 4,2 * 5,n = 当前数 / x,进一步的,n ≤ maxn / x
那么maxn就是最优解 =》答案就是最大数
我证了个💩 😅😅
Code
#include <bits/stdc++.h>
#define P 8681123
#define ll long long
using namespace std;
ll n, maxn, x;
int main() {
scanf("%lld", &n);
for(int i = 1; i <= n; i ++) {
scanf("%lld", &x);
maxn = max(maxn, x);
}
printf("%lld", maxn % P); //最后再%,求max的时候%会有问题(比如8681124 和 8681122)
}
以上是关于队内赛T2结论题看错题的产物改编而来的产物的主要内容,如果未能解决你的问题,请参考以下文章