编号 题目 状态 分数 总时间 内存 代码 / 答案文件 提交者 提交时间
#3313 #21. 「2022 远光杯」两点确定一条直线 Accepted 100 44 ms 12352 K C++ 11 / 708 B YZJC 2022-06-01 21:39:08
显示原始代码
#include <iostream>
#include <algorithm>

using namespace std;

typedef long long LL;

const int N = 1e6 + 10;

int n;
int prime[N], cnt;
LL p[N];
int st[N];

void get_prime(int x) {
    p[1] = 1;

    for (int i = 2; i <= x; i++) {
        if (!st[i]) {
            prime[++cnt] = i;
            p[i] = i - 1;
        }

        for (int j = 1; prime[j] <= x / i; j++) {
            st[i * prime[j]] = 1;
            if (i % prime[j] == 0) {
                p[i * prime[j]] = p[i] * prime[j];
                break;
            }

            p[i * prime[j]] = p[i] * (prime[j] - 1);
        }
    }

    return;
}

int main() {
    cin >> n;

    get_prime(n);

    LL ans = 0;
    for (int i = 1; i < n; i++) {
        ans += p[i];
    }

    cout << (ans << 2) << endl;

    return 0;
}
子任务 #1
Accepted
得分:100
测试点 #1
Accepted
得分:100
用时:3 ms
内存:328 KiB

输入文件(1.in

3

答案文件(1.ans

8

用户输出

8

系统信息

Exited with return code 0
测试点 #2
Accepted
得分:100
用时:3 ms
内存:248 KiB

输入文件(2.in

2

答案文件(2.ans

4

用户输出

4

系统信息

Exited with return code 0
测试点 #3
Accepted
得分:100
用时:6 ms
内存:356 KiB

输入文件(3.in

17

答案文件(3.ans

320

用户输出

320

系统信息

Exited with return code 0
测试点 #4
Accepted
得分:100
用时:6 ms
内存:2164 KiB

输入文件(4.in

151027

答案文件(4.ans

27732277488

用户输出

27732277488

系统信息

Exited with return code 0
测试点 #5
Accepted
得分:100
用时:26 ms
内存:12352 KiB

输入文件(5.in

1000000

答案文件(5.ans

1215852609568

用户输出

1215852609568

系统信息

Exited with return code 0