Submission #1059092

#TimeUsernameProblemLanguageResultExecution timeMemory
1059092vjudge1Sirni (COCI17_sirni)C++17
0 / 140
43 ms1884 KiB
#include <bits/stdc++.h>

using namespace std;

#define ll long long

const int N = 1e5 + 3;
const int MX = 1e7 + 3;

bitset<MX> bs;
int n, p[N];
ll ans = 0;

int main () {
    ios_base::sync_with_stdio(0);
    cin.tie(0); cout.tie(0);

    cin >> n;
    for (int i = 1; i <= n; ++ i) cin >> p[i];
    sort (p + 1, p + n + 1);
    for (int i = 1, x = 0; i <= n; ++ i) {
        while (bs._Find_next(x) != bs.size() && bs._Find_next(x) <= p[i])
            x = bs._Find_next(x);

//        cout << p[i] << ' ' << x << '\n';
        if (i > 1) ans += (p[i] - x);
        for (int j = p[i]; j < MX; j += p[i]) bs[j] = 1;
    }

    cout << ans;

    return 0;
}

Compilation message (stderr)

sirni.cpp: In function 'int main()':
sirni.cpp:22:66: warning: comparison of integer expressions of different signedness: 'std::size_t' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   22 |         while (bs._Find_next(x) != bs.size() && bs._Find_next(x) <= p[i])
      |                                                 ~~~~~~~~~~~~~~~~~^~~~~~~
#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...