Cod sursa(job #1452230)

Utilizator GeiGeiGeorge Cioroiu GeiGei Data 20 iunie 2015 13:36:58
Problema Sum Scor 45
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.92 kb
#include <cstdio>
#include <iostream>
#include <vector>

using namespace std;

int main() {
    freopen("sum.in", "r", stdin);
    freopen("sum.out", "w", stdout);

    ios_base::sync_with_stdio(false);
    cin.tie(0);

    int t;
    cin >> t;
    for (int i = 0; i < t; i++) {
        int x;
        cin >> x;
        vector<bool> p(2 * x + 5);
        vector<bool> al(2 * x + 5);
        long long ans = 1;
        for (int i = 2; i <= 2 * x; i++) {
            if (!p[i]) {
                for (int j = i * i; j <= 2 * x; j += i) {
                    p[i] = true;
                }
                if (x % i == 0) {
                    for (int j = i; j <= 2 * x; j += i) {
                        al[j] = true;
                    }
                }
            }
            if (!al[i]) {
                ans += i;
            }
        }
        cout << ans << "\n";
    }
    return 0;
}