Submission #1145693

#TimeUsernameProblemLanguageResultExecution timeMemory
1145693hennesseySirni (COCI17_sirni)C++20
0 / 140
320 ms157892 KiB
#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 = 3500;
    int total = 0;
    for(int i = 0; i < n; i++) {
        if(i == 0) {
            continue;
        }
        int v = arr[i];
        for(int j = 0; j <= min(v, root); j++) {
            int v2 = v-j;
            if(di[v2] > 0) {
                total += j;
                break;
            }
        }
    }
    cout << total << endl;
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...