Cod sursa(job #2338564)

Utilizator oneorzeroOne or zero oneorzero Data 7 februarie 2019 16:57:06
Problema Light2 Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.87 kb
#include <bits/stdc++.h>
using namespace std;
ifstream fin("light2.in");
ofstream fout("light2.out");
vector <int> v;
vector <int > dif;
bool fv[1000001];
long long answer(int n){
    long long ans = 0;
    for(auto x: v)
        ans += n / x;
    for(auto x: dif)
        ans += 2 * n / x;
    return ans;
}
int main()
{
    int n, k;
    fin >> n >> k;
    for(int i = 1; i <= k; ++i){
        int nr;
        fin >> nr;
        if(fv[nr] == 0) fv[nr] = 1;
        else fv[nr] = 0;
    }
    for(int i = 1; i <= 1000000; ++i){
        if(fv[i] == 1){
            int nr = i;
            for(auto x: v){
                if(i != x){
                    nr = -1 * i * x;
                    dif.push_back(nr);
                }
            }
            nr = i;
            v.push_back(nr);
        }
    }
    fout << answer(n);
    return 0;
}