for each element of ' list2' check if it is present in ' um ' with a different price value
for ( int i = 0 ; i < n ; i ++ ) if ( ( um . find ( list2 [ i ] . name ) != um . end ( ) ) && ( um [ list2 [ i ] . name ] != list2 [ i ] . price ) ) count ++ ;