답안 #856106

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
856106 2023-10-02T16:43:56 Z vjudge1 Savrsen (COCI17_savrsen) C++17
45 / 120
638 ms 78932 KB
//author: Ahmet Alp Orakci
#include <bits/stdc++.h>
using namespace std;
using i64 = unsigned int;

const int MAXN = 1E7 + 5;

i64 res[MAXN];
i64 pref[MAXN];

void precalc() {
    for(int i = 1; i < MAXN; i++) {
        for(int j = i; j < MAXN; j += i) {
            res[j] += i;
        }

        pref[i] = (2 * i >= res[i] ? 2 * i - res[i] : res[i] - 2 * i);
    }

    for(int i = 1; i < MAXN; i++)
        pref[i] += pref[i -1];
}

#define ONLINE_JUDGE
void solve() {
    int a, b;
    cin >> a >> b;

    cout << pref[b] - pref[a -1];
    
    return;
}

signed main() {
    #ifndef ONLINE_JUDGE
        freopen(".in", "r", stdin);
        freopen(".out", "w", stdout);
    #endif

    precalc();

    ios_base::sync_with_stdio(false);
    cin.tie(NULL); cout.tie(NULL);

    int t = 1; //cin >> t;
    for(int i = 1; i <= t; i++) {
        solve();
    }

    return 0;
}

Compilation message

savrsen.cpp: In function 'void precalc()':
savrsen.cpp:17:26: warning: comparison of integer expressions of different signedness: 'int' and 'i64' {aka 'unsigned int'} [-Wsign-compare]
   17 |         pref[i] = (2 * i >= res[i] ? 2 * i - res[i] : res[i] - 2 * i);
      |                    ~~~~~~^~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Correct 638 ms 78776 KB Output is correct
2 Correct 608 ms 78616 KB Output is correct
3 Correct 602 ms 78616 KB Output is correct
4 Incorrect 606 ms 78932 KB Output isn't correct
5 Incorrect 624 ms 78672 KB Output isn't correct
6 Incorrect 608 ms 78872 KB Output isn't correct
7 Incorrect 610 ms 78680 KB Output isn't correct
8 Incorrect 596 ms 78700 KB Output isn't correct