Submission #1332758

#TimeUsernameProblemLanguageResultExecution timeMemory
1332758model_codeTezina (COCI26_tezina)C++20
70 / 70
266 ms3992 KiB
#include <bits/stdc++.h>
using namespace std;

int main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);

    constexpr long long LIM = 100'000'000LL;

    int n, k;
    cin >> n >> k;

    unordered_map<int, long long> freq;
    freq.reserve((size_t)n * 2 + 1);

    for (int i = 0; i < n; ++i) {
        int x;
        cin >> x;
        ++freq[x];
    }

    auto strength_sum = [&](int a) -> long long {
        long long total = 0;
        for (long long l = 1; l <= k;) {
            long long q = a / l;
            if (q == 0) break;
            long long r = a / q;
            if (r > k) r = k;
            long long cnt = r - l + 1;
            long long val = q * (a + 2LL);
            if (val >= LIM) {
                total += cnt * LIM;
            } else {
                total += cnt * val;
            }
            l = r + 1;
        }
        return total;
    };

    long long answer = 0;
    for (const auto &[a, c] : freq) {
        answer += c * strength_sum(a);
    }

    cout << answer << '\n';
    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...