I don't know exactly what CP stands for but it is some measure of the Computer Processing that occurred to do some task such as writing the stiffness matrix.
You have to do extra work to avoid using Lagrange Multipliers in MPC184 elements in your model. For example, if you have a Revolute Joint in the model, the default element constraint imposition method is Largrange multiplier method, but if you use Keyopt(2)=1 under the joint, you can switch it to use a Penalty-based method.
In the summary you show, shell and solid elements are grouped into the solid element bucket. Elsewhere in the solution output, it counts out the actual number of shell and solid elements.
Why does the model have so many contact elements?
In a large system, there may be 10 different regions-of-concern (ROC). It seems you have done mesh refinement and added frictional contact in all 10 areas to try to get accurate stress results in all 10 areas in one model, but that has resulted in a model that does not run in available RAM. Some companies have computers with 256 GB or 512 GB of RAM and can run such a large model, but these models will take tens of hours of solution time to solve.
One way around the issue of running out of RAM is to make 10 versions of the large system. Each version has the mesh refinement and frictional contact in only one ROC and all the other ROCs are idealized to a coarse mesh and bonded contact (or shared topology). The stress results are only reported in the one ROC that is refined in that model. Yes, it it 10 times more work to make 10 models, but at least you get results using the RAM you have and each of the 10 models solves in much less time than the global model with refinement in all 10 ROCs at once.