/*
평균 점수가 N개 주어질 때 최소 응답 인원 수 K를 구하기
응답 값은 0~10사이 정수
2
0.500
0.300
2
0.500
0.301
평균 점수에 인원수를 곱하면 항상 정수가 됨
소수셋째 자리에서 잘라냈다고 했으므로 평균점수/K, 평균점수+0.0009/K 사이에 정수가 있는지 구하기
구한 K들의 최소공배수 찾기
18 24 45의 최소공배수
*/
#include <iostream>
using namespace std;
int gcd(int a, int b) {
if (a < b) {
int t = a;
a = b;
b = t;
}
if (b == 0) {
return a;
}
return gcd(b, a % b);
}
int lcm(int a, int b) {
return a * b / gcd(a, b);
}
int main() {
int N;
double arr[50];
int K[50] = {0};
cin >> N;
for (int i = 0; i < N; i++) {
cin >> arr[i];
for (int j = 1; j <= 1000; j++) {
double S1 = arr[i] * j, S2 = (arr[i] + 0.0009) * j;
if ((int) S1 == S1 || (int) S1 < (int) S2) {
K[i] = j;
break;
}
}
}
// lcm of list
if (N == 1) {
cout << K[0];
return 0;
}
int res = lcm(K[0], K[1]);
for (int i = 2; i < N; i++) {
res = lcm(res, K[i]);
}
cout << res;
}
LyoK7Y+J6regIOygkOyImOqwgCBO6rCcIOyjvOyWtOyniCDrlYwg7LWc7IaMIOydkeuLtSDsnbjsm5Ag7IiYIEvrpbwg6rWs7ZWY6riwCuydkeuLtSDqsJLsnYAgMH4xMOyCrOydtCDsoJXsiJgKMgowLjUwMAowLjMwMAoyCjAuNTAwCjAuMzAxCu2Pieq3oCDsoJDsiJjsl5Ag7J247JuQ7IiY66W8IOqzse2VmOuptCDtla3sg4Eg7KCV7IiY6rCAIOuQqArshozsiJjshYvsp7gg7J6Q66as7JeQ7IScIOyemOudvOuDiOuLpOqzoCDtlojsnLzrr4DroZwg7Y+J6reg7KCQ7IiYL0ssIO2Pieq3oOygkOyImCswLjAwMDkvSyDsgqzsnbTsl5Ag7KCV7IiY6rCAIOyeiOuKlOyngCDqtaztlZjquLAK6rWs7ZWcIEvrk6TsnZgg7LWc7IaM6rO167Cw7IiYIOywvuq4sAoxOCAyNCA0NeydmCDstZzshozqs7XrsLDsiJgKCiAqLwojaW5jbHVkZSA8aW9zdHJlYW0+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgZ2NkKGludCBhLCBpbnQgYikgewogICAgaWYgKGEgPCBiKSB7CiAgICAgICAgaW50IHQgPSBhOwogICAgICAgIGEgPSBiOwogICAgICAgIGIgPSB0OwogICAgfQogICAgaWYgKGIgPT0gMCkgewogICAgICAgIHJldHVybiBhOwogICAgfQogICAgcmV0dXJuIGdjZChiLCBhICUgYik7Cn0KCmludCBsY20oaW50IGEsIGludCBiKSB7CiAgICByZXR1cm4gYSAqIGIgLyBnY2QoYSwgYik7Cn0KCmludCBtYWluKCkgewogICAgaW50IE47CiAgICBkb3VibGUgYXJyWzUwXTsKICAgIGludCBLWzUwXSA9IHswfTsKICAgIGNpbiA+PiBOOwogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBOOyBpKyspIHsKICAgICAgICBjaW4gPj4gYXJyW2ldOwogICAgICAgIGZvciAoaW50IGogPSAxOyBqIDw9IDEwMDA7IGorKykgewogICAgICAgICAgICBkb3VibGUgUzEgPSBhcnJbaV0gKiBqLCBTMiA9IChhcnJbaV0gKyAwLjAwMDkpICogajsKICAgICAgICAgICAgaWYgKChpbnQpIFMxID09IFMxIHx8IChpbnQpIFMxIDwgKGludCkgUzIpIHsKICAgICAgICAgICAgICAgIEtbaV0gPSBqOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CiAgICAvLyBsY20gb2YgbGlzdAogICAgaWYgKE4gPT0gMSkgewogICAgICAgIGNvdXQgPDwgS1swXTsKICAgICAgICByZXR1cm4gMDsKICAgIH0KICAgIGludCByZXMgPSBsY20oS1swXSwgS1sxXSk7CiAgICBmb3IgKGludCBpID0gMjsgaSA8IE47IGkrKykgewogICAgICAgIHJlcyA9IGxjbShyZXMsIEtbaV0pOwogICAgfQogICAgY291dCA8PCByZXM7Cn0K