Task: | Tekijät |
Sender: | rasastusni |
Submission time: | 2020-11-08 14:31:14 +0200 |
Language: | C++ (C++17) |
Status: | READY |
Result: | 0 |
group | verdict | score |
---|---|---|
#1 | WRONG ANSWER | 0 |
#2 | WRONG ANSWER | 0 |
#3 | WRONG ANSWER | 0 |
test | verdict | time | group | |
---|---|---|---|---|
#1 | WRONG ANSWER | 0.01 s | 1, 2, 3 | details |
#2 | WRONG ANSWER | 0.01 s | 1, 2, 3 | details |
#3 | WRONG ANSWER | 0.04 s | 2, 3 | details |
#4 | WRONG ANSWER | 0.08 s | 3 | details |
#5 | WRONG ANSWER | 0.12 s | 3 | details |
#6 | WRONG ANSWER | 0.18 s | 3 | details |
#7 | WRONG ANSWER | 0.10 s | 3 | details |
Compiler report
input/code.cpp: In function 'int main()': input/code.cpp:54:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for (int a = 0; a < round_max; ++a) { ~~^~~~~~~~~~~
Code
#include <iostream> #include <unordered_map> #include <vector> using namespace std; vector<int> gen_primes(int n) { vector<int> result = {2}; for (int i = 3; i*i <= n; ++i) { bool good = true; for (auto p : result) { if (i % p == 0) { good = false; break; } } if (good) result.push_back(i); } return result; } vector<int> prime_facts(int x, const vector<int> &primes) { vector<int> result; for (auto p : primes) { if (p > x) break; if (x % p == 0) { result.push_back(p); do { x /= p; } while (x % p == 0); } } if (x > 1) result.push_back(x); return result; } int main() { int n; cin >> n; vector<int> nums(n); int maximum = 0; for (int i = 0; i < n; ++i) { cin >> nums[i]; maximum = max(maximum, nums[i]); } auto primes = gen_primes(maximum); int ans = n * (n - 1) / 2; for (int i = 0; i < n; ++i) { auto facts = prime_facts(nums[i], primes); vector<pair<int, int>> products = {{0, 1}}; for (auto f : facts) { auto round_max = products.size(); for (int a = 0; a < round_max; ++a) { auto new_count = products[a].first + 1; auto new_product = products[a].second * f; if (new_count % 2 == 1) --ans; products.push_back({new_count, new_product}); } } } cout << ans << endl; }
Test details
Test 1
Group: 1, 2, 3
Verdict: WRONG ANSWER
input |
---|
100 1 2 3 4 5 6 7 8 9 10 11 12 13 ... |
correct output |
---|
3043 |
user output |
---|
4771 |
Test 2
Group: 1, 2, 3
Verdict: WRONG ANSWER
input |
---|
100 71 19 26 18 57 78 80 89 31 26 ... |
correct output |
---|
3086 |
user output |
---|
4773 |
Test 3
Group: 2, 3
Verdict: WRONG ANSWER
input |
---|
100000 66 87 90 67 93 89 57 29 34 4 8... |
correct output |
---|
3044751906 |
user output |
---|
704804018 |
Test 4
Group: 3
Verdict: WRONG ANSWER
input |
---|
100000 1 2 3 4 5 6 7 8 9 10 11 12 13 ... |
correct output |
---|
3039650753 |
user output |
---|
704593414 |
Test 5
Group: 3
Verdict: WRONG ANSWER
input |
---|
100000 238907 151373 522599 885657 37... |
correct output |
---|
3031155756 |
user output |
---|
704523658 |
Test 6
Group: 3
Verdict: WRONG ANSWER
input |
---|
100000 510510 510510 510510 510510 51... |
correct output |
---|
0 |
user output |
---|
698582704 |
Test 7
Group: 3
Verdict: WRONG ANSWER
input |
---|
100000 999983 999983 999983 999983 99... |
correct output |
---|
0 |
user output |
---|
704882704 |