#include <bits/stdc++.h>
using namespace std;
#define int long long
vector <int> arr = {};
vector <int> cnt(1e7+2);
vector <int> di(1e7+2);
signed main() {
//your code goes here
int n;
cin >> n;
for(int i = 0; i < n; i++) {
int num;
cin >> num;
arr.push_back(num);
cnt[num] = 1;
}
for(int i = 1; i <= 1e7; i++) {
if(cnt[i] == 0) {
continue;
}
for(int j = i*2; j <= 1e7; j+=i) {
di[j]++;
}
}
sort(arr.begin(), arr.end());
int root = 1e8/n;
root += 10;
int total = 0;
for(int i = 0; i < n; i++) {
if(i == 0) {
continue;
}
int v = arr[i];
int t1 = 1e18;
for(int j = 0; j < n; j++) {
int v2 = arr[j];
if(i == j) {
continue;
}
// cout << v2 << " V " << endl;
if(di[v2] > 0 || cnt[v2] == 1) {
t1 = min(t1, min(v%v2, v2%v));
// break;
}
}
// cout << t1 << endl;
total += t1;
}
cout << total << endl;
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |