Task: | Tekijät |
Sender: | tsiki2 |
Submission time: | 2020-11-08 22:30:26 +0200 |
Language: | C++ (C++11) |
Status: | READY |
Result: | 47 |
group | verdict | score |
---|---|---|
#1 | ACCEPTED | 12 |
#2 | ACCEPTED | 35 |
#3 | RUNTIME ERROR | 0 |
test | verdict | time | group | |
---|---|---|---|---|
#1 | ACCEPTED | 0.01 s | 1, 2, 3 | details |
#2 | ACCEPTED | 0.01 s | 1, 2, 3 | details |
#3 | ACCEPTED | 0.01 s | 2, 3 | details |
#4 | RUNTIME ERROR | 0.01 s | 3 | details |
#5 | RUNTIME ERROR | 0.01 s | 3 | details |
#6 | RUNTIME ERROR | 0.01 s | 3 | details |
#7 | RUNTIME ERROR | 0.01 s | 3 | details |
Compiler report
input/code.cpp: In function 'std::vector<int> primes(int)': input/code.cpp:43:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation] if (n > 2) ^~ input/code.cpp:45:5: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if' return ans; ^~~~~~ input/code.cpp: In function 'std::vector<int> uprimes(int)': input/code.cpp:66:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation] if (n > 2) ^~ input/code.cpp:68:5: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if' return ans; ^~~~~~
Code
#include <stdio.h> // include before iostream for faster scanf#include <iostream>#include <vector>#include <string>#include <map>#include <unordered_map>#include <algorithm>#include <utility>#include <set>#include <unordered_set>#include <cmath>#include <math.h>#include <queue>#include <stdlib.h>#include <string.h>#include <sstream>#include <tuple>#include <utility>#include <iomanip>#include <iterator>using namespace std;typedef long long LL;#define printv(printVec) for (auto printVecIter : (printVec)) cout << printVecIter << " "; cout << endl;// g++ -Wall -Wshadow -std=c++11 a.cpp && ./a.outvector<int> primes(int n) {vector<int> ans;while (n % 2 == 0) {ans.push_back(2);n = n/2;}for (int i = 3; i <= sqrt(n); i = i + 2) {while (n % i == 0){ans.push_back(i);n = n/i;}}if (n > 2)ans.push_back(n);return ans;}vector<int> uprimes(int n) {vector<int> ans;while (n % 2 == 0) {if ((ans.size() && ans.back() != 2) || ans.size() == 0)ans.push_back(2);n = n/2;}for (int i = 3; i <= sqrt(n); i = i + 2) {while (n % i == 0){if ((ans.size() && ans.back() != i) || ans.size() == 0)ans.push_back(i);// ans.push_back(i);n = n/i;}}if (n > 2)ans.push_back(n);return ans;}bool isprime(int n) {vector<int> ans;while (n % 2 == 0) {return false;}for (int i = 3; i <= sqrt(n); i = i + 2) {if (n % i == 0){return false;}}return true;}int gcd(int a , int b){if(b==0) return a;a%=b;return gcd(b,a);}int main() {std::ios::sync_with_stdio(false);cin.tie(0);int n; cin>>n;vector<int> nums(101);for (int i =0;i<n; i++) {int tmp; cin >>tmp;nums[tmp]++;}LL ans = 0;for (int i = 0; i < 101; i++) {for (int j = i+1; j < 101; j++) {if (gcd(i,j) == 1) {ans += nums[i] * (LL) nums[j];}}}ans += nums[1]*(nums[1] - 1)/2;cout << ans << endl;}
Test details
Test 1
Group: 1, 2, 3
Verdict: ACCEPTED
input |
---|
100 1 2 3 4 5 6 7 8 9 10 11 12 13 ... |
correct output |
---|
3043 |
user output |
---|
3043 |
Test 2
Group: 1, 2, 3
Verdict: ACCEPTED
input |
---|
100 71 19 26 18 57 78 80 89 31 26 ... |
correct output |
---|
3086 |
user output |
---|
3086 |
Test 3
Group: 2, 3
Verdict: ACCEPTED
input |
---|
100000 66 87 90 67 93 89 57 29 34 4 8... |
correct output |
---|
3044751906 |
user output |
---|
3044751906 |
Test 4
Group: 3
Verdict: RUNTIME ERROR
input |
---|
100000 1 2 3 4 5 6 7 8 9 10 11 12 13 ... |
correct output |
---|
3039650753 |
user output |
---|
(empty) |
Test 5
Group: 3
Verdict: RUNTIME ERROR
input |
---|
100000 238907 151373 522599 885657 37... |
correct output |
---|
3031155756 |
user output |
---|
(empty) |
Test 6
Group: 3
Verdict: RUNTIME ERROR
input |
---|
100000 510510 510510 510510 510510 51... |
correct output |
---|
0 |
user output |
---|
(empty) |
Test 7
Group: 3
Verdict: RUNTIME ERROR
input |
---|
100000 999983 999983 999983 999983 99... |
correct output |
---|
0 |
user output |
---|
(empty) |