Pagini recente » Cod sursa (job #1140915) | Cod sursa (job #2781379) | Cod sursa (job #1617603) | Cod sursa (job #1697418) | Cod sursa (job #1220868)
#include <fstream>
using namespace std;
const int N = 23, Vmax = 1 + 1e6;
int vals[N];
bool use[Vmax];
inline long long abs(long long a){
return a > 0 ? a : -a;
}
inline long long cmmdc(long long a, long long b){
return b != 0 ? cmmdc(b, a % b) : a;
}
inline long long cmmmc(long long a, long long b){
return a / cmmdc( abs(a) , abs(b) ) * b;
}
long long pie(int poz, long long step, long long n, int nr){
if (poz == vals[0] + 1)
return n / step * nr;
return pie(poz + 1, step, n, nr) + pie(poz + 1, cmmmc(step, vals[poz]), n, nr + 1);
}
int main(){
ifstream in("light2.in");
long long n;
int nr, x;
in >> n >> nr;
while (nr--){
in >> x;
use[x] = !use[x];
}
in.close();
for (int i = 1 ; i <= Vmax ; i++)
if (use[i])
vals[ ++vals[0] ] = -i;
ofstream out("light2.out");
out << pie(1, -1, n, 0) << '\n';
out.close();
return 0;
}