ABC070 C:Multiple Clocks
思わぬ罠。
https://atcoder.jp/contests/abc070/tasks/abc070_c
答えはすべての Ti における最小公倍数だというのはすぐにわかる。
だがオーバーフローを考慮していないライブラリを使ってしまったため、あえなくWA。
まあ過去問でライブラリの不備を見つけることができたので良しとする。
#define int long long
template <typename T>
T gcd(T a, T b) {
return b ? gcd(b, a % b) : a;
}
template <typename T>
T lcm(T a, T b) {
// return (a * b) / gcd(a, b); // overflow!
T g = gcd(a, b);
return a / g * b;
}
signed main() {
int n;
cin >> n;
int ans = 1;
rep(i, 0, n) {
int t;
cin >> t;
ans = lcm<int>(ans, t);
}
cout << ans << endl;
}