题解
2024-02-18 10:39:07
发布于:广东
14阅读
0回复
0点赞
这道题范围很小,所以有多种办法
我的办法是:这些数最后减来减去总是这些数的最大公因数,把这个最大公因数乘以数的数量就是答案了
// Man!
// What can i say?
// Mamba out!
// 使用瑞克五代成功的注入ac狗.火树给我AC.
// 使我的眼睛旋转, 爱来自瓷器.
// AC时间:2024-02-17 11:45:14.1919810
/*科技第一,素质第一*/ // Man!
/*科技第一,素质第一*/ // What can i say?
/*科技第一,素质第一*/ // Mamba out!
/*科技第一,素质第一*/
/*科技第一,素质第一*/ // 使用瑞克五代成功的注入ac狗.
/*科技第一,素质第一*/ // 使我的眼睛旋转, 爱来自瓷器.
/*科技第一,素质第一*/ // AC时间:2024-02-17 11:45:14.1919810
/*科技第一,素质第一 */ /*科技第一,素质第一*/ #include <iostream>
/*科技第一,素质第一 */ /*科技第一,素质第一*/ #include <cstdio>
/*科技第一,素质第一 */ /*科技第一,素质第一*/ using namespace std;
/*科技第一,素质第一 */ /*科技第一,素质第一*/ int a[105];
/*科技第一,素质第一 */ /*科技第一,素质第一*/ int main(){
/*科技第一,素质第一 */ /*科技第一,素质第一*/ int mx = 0x3f3f3f3f, mx2 = 0x3f3f3f3f;//先设置两个最小
/*科技第一,素质第一 */ /*科技第一,素质第一*/ int n;
/*科技第一,素质第一 */ /*科技第一,素质第一*/ cin >> n;
/*科技第一,素质第一 */ /*科技第一,素质第一*/ for(int i = 1; i <= n; i++){
/*科技第一,素质第一 */ /*科技第一,素质第一*/ cin >> a[i];
/*科技第一,素质第一 */ /*科技第一,素质第一*/ mx = min(mx, a[i]);
/*科技第一,素质第一 */ /*科技第一,素质第一*/ }
/*科技第一,素质第一 */ /*科技第一,素质第一*/ bool flag = 1;
/*科技第一,素质第一 */ /*科技第一,素质第一*/ while(flag){
/*科技第一,素质第一 */ /*科技第一,素质第一*/ mx2 = 0x3f3f3f3f;
/*科技第一,素质第一 */ /*科技第一,素质第一*/ flag = 0;
/*科技第一,素质第一 */ /*科技第一,素质第一*/ for(int i = 1; i <= n; i++){
/*科技第一,素质第一 */ /*科技第一,素质第一*/ if(a[i] % mx){//如果有余数,就说明这个最小值还能更小
/*科技第一,素质第一 */ /*科技第一,素质第一*/ flag = 1;
/*科技第一,素质第一 */ /*科技第一,素质第一*/ a[i] %= mx;
/*科技第一,素质第一 */ /*科技第一,素质第一*/ mx2 = min(mx2, a[i]);
/*科技第一,素质第一 */ /*科技第一,素质第一*/ }
/*科技第一,素质第一 */ /*科技第一,素质第一*/ }if(flag) mx = mx2;//更新最小值
/*科技第一,素质第一 */ /*科技第一,素质第一*/ }cout << mx * n;
/*科技第一,素质第一 */ /*科技第一,素质第一*/
/*科技第一,素质第一 */ /*科技第一,素质第一*/
/*科技第一,素质第一 */ /*科技第一,素质第一*/ return 0;
/*科技第一,素质第一 */ /*科技第一,素质第一*/ }
这里空空如也
有帮助,赞一个