Machine Learning: Predicting target based on a feature
One quick thought is to use 1-NN (k-Nearest-Neighbors with k=1).
This does not need any training (it is a lazy algorithm) and for each new sample you look up what is the nearest datapoint in your dataset.
In your case, when you try to classify a new sample you can set its price to 0.
If you use Euclidian distance as a distance metric for the 1-NN, then in case there are multiple points with the same feature values, the nearest one will be the one with the smaller price (assuming that prices are in the range [0, inf) to avoid complications with negative prices).
In summary, what you need to do to classify a sample:

Set the sample's price to 0.
For each data point in your dataset:
3. Calculate the Euclidian distance between the sample and the data point.
Use the type of the data point with the minimum distance from the sample as the classification value for the sample.