3668: 最后一块石头的最小重量

内存限制:128 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:7 解决:5

题目描述

你有一堆石头,每块石头都有一个正整数重量。每一回合,你可以任选两块石头进行“粉碎”操作:

  • 设两块石头重量分别为 x 和 y,且 x ≤ y
  • 如果 x == y,两块石头都完全消失;
  • 如果 x < y,则重量为 x 的石头消失,重量为 y 的石头变为 y - x

重复此过程,直到最多只剩一块石头。
请你求出最后剩下的石头的最小可能重量。如果没有石头剩下,输出 0

输入

第一行一个整数 n(1 ≤ n ≤ 30),表示石头数量。 第二行包含 n 个正整数 stones[0], stones[1], ..., stones[n-1](1 ≤ stones[i] ≤ 100),表示每块石头的重量。

输出

输出一个整数,表示最后一块石头的最小可能重量。若无石头剩余,输出 0。

样例输入 复制

6
2 7 4 1 8 1

样例输出 复制

1

提示

1 ≤ stones[i] ≤ 100