A1761 | 新年游戏
时间限制1s
内存限制128MB
通过 / 提交0/0
题目描述
*小k* 最近想了一个数字游戏,规则是这样的,给你 $n$ 个正整数,$p_1, p_2, ..., p_{n-1}, p_n$。你可以无限次进行以下操作:选择两个不同索引的数 $p_i$ 与 $p_j$($i \neq j, p_i > p_j$),然后使 $p_i = p_i - p_j$。
*小k* 希望你巧妙地操作数字,以获得最小的序列和。
*小k* 希望你巧妙地操作数字,以获得最小的序列和。
输入格式
第一行输入一个 $n(2 \leq n \leq 100)$。
第二行输入 $n$ 个数,$p_1,p_2...,p_{n-1},p_n(1 \leq p_i \leq 100)$。
第二行输入 $n$ 个数,$p_1,p_2...,p_{n-1},p_n(1 \leq p_i \leq 100)$。
输出格式
在一行中输出,能得到最小序列的和。
输入输出样例
输入 #1
3 2 4 6
输出 #1
6
输入 #2
2 12 18
输出 #2
12
输入 #3
5 45 12 27 30 18
输出 #3
15
第一个样例,最佳的方法是:$p_3 = p_3 - p_2,p_2 = p_2 - p_1$,最后得到序列 [2,2,2],和为6
第二个样例,最佳的方法是: $p_2 = p_2 - p_1$,得到序列 [12,6],$p_1 = p_1 - p_2$,得到序列 [6,6],和为12
第二个样例,最佳的方法是: $p_2 = p_2 - p_1$,得到序列 [12,6],$p_1 = p_1 - p_2$,得到序列 [6,6],和为12
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?