Cod sursa(job #3164752)
Utilizator | Iosif Andrei Stefan Yosif | Data | 4 noiembrie 2023 11:20:00 |
---|---|---|---|
Problema | Economie | Scor | 0 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.54 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 = 50000 / v[i];
while (j--)
b |= (b << v[i]);
}
fout << nr;
return 0;
}