A global cardinality constraint (gcc) is specified in terms of a set of variables X = {x1, ..., xp} which take their values in a subset of V = {v1, ..., vd}. It constrains the number of times each value vi V is assigned to a variable in X to be in an interval [li, ui]. A gcc with costs (costgcc) is a generalization of a gcc in which a cost is associated with each value of each variable. Then, each solution of the underlying gcc is associated with a global cost equal to the sum of the costs associated with the assigned values of the solution. A costgcc constrains the global cost to be less than a given value. Cardinality constraints with costs have proved very useful in many real-life problems, such as traveling salesman problems, scheduling, rostering, or resource allocation. For instance, they are useful for expressing preferences or for defining constraints such as a constraint on the sum of all different variables. In this paper, we present an efficient way of implementing arc cons...