Combinatorial optimization algorithm with constraints and objective function
You can indeed formulate an Integer Linear Program. Let $x_i \in \{0,1\}$ denote whether you select item $i$. For each item $i$ define $f_a(i)$,  $f_b(i)$, and $f_c(i)$ as the integer values for the properties $A$, $B$, and $C$.
Then we define the objective function as maximizing $\sum_{i = 1}^{m} f_a(i) \cdot x_i$, given $m$ items in total.
Your constraints are very similar as well, namely $\sum_{i = 1}^{m} f_b(i) \cdot x_i \geq 50$, and $\sum_{i = 1}^{m} f_c(i) \cdot x_i \geq 60$.
Since you can select at most $n$ of those $m$ items, you need to following constraint: $\sum_{i = 1}^{m} x_i \leq n$.
You can then easily recover the solution from your variables. Simply check whether $x_i = 1$, and if so, add item $i$ to your solution.