Cod sursa(job #3164750)
| Utilizator | Data | 4 noiembrie 2023 11:13:51 | |
|---|---|---|---|
| Problema | Economie | Scor | 0 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.55 kb |
#include <bits/stdc++.h>
using namespace std;
string file = "economie";
ifstream fin(file + ".in");
ofstream fout(file + ".out");
bitset <50001> b;
int n, v[1001];
int main() {
fin >> n;
for (int i = 1; i <= n; i++)
fin >> v[i];
sort(v + 1, v + n + 1);
int nr = 0;
for (int i = 1; i <= n; i++) {
if (b[v[i]] || v[i] == v[i - 1])
continue;
nr++;
b[v[i]] = true;
int j = v[i];
while (j <= 50000)
b |= (b << j), j += v[i];
}
fout << nr;
return 0;
}