Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
146496 | jiayou | 货币系统 | C++ | 解答错误 | 0 | 1 MS | 296 KB | 778 | 2024-05-12 06:37:35 |
#include <iostream> #include <algorithm> #include <cstring> using namespace std; const int N = 110, M = 25000 + 10; int T, n; int v[101]; bool f[25001]; int main() { cin >> T; while (T--) { cin >> n; for (int i = 1; i <= n; i++) cin >> v[i]; sort(v + 1, v + 1 + n); int res = 0; //f[0] = true; for (int i = 1; i <= n; i++) { if (f[v[i]]==0) { res++; } else { for (int j = 2; j*v[i] <= v[n]; j++) { f[j*v[i]] = 1; } } } cout << res << endl; memset(v, 0, sizeof v); memset(f, false, sizeof f); } return 0; }