SELECT 
  cscart_product_prices.product_id, 
  MIN(
    IF(
      cscart_product_prices.percentage_discount = 0, 
      cscart_product_prices.price, 
      cscart_product_prices.price - (
        cscart_product_prices.price * cscart_product_prices.percentage_discount
      )/ 100
    )
  ) AS price 
FROM 
  cscart_product_prices 
WHERE 
  cscart_product_prices.product_id IN (
    371, 370, 369, 368, 367, 366, 365, 364, 
    363, 362, 361, 360, 359, 358, 357, 356, 
    355, 354, 353, 352
  ) 
  AND cscart_product_prices.lower_limit = 1 
  AND cscart_product_prices.usergroup_id IN (0, 1) 
GROUP BY 
  cscart_product_prices.product_id

Query time 0.00047

JSON explain

{
  "query_block": {
    "select_id": 1,
    "filesort": {
      "sort_key": "cscart_product_prices.product_id",
      "temporary_table": {
        "nested_loop": [
          {
            "table": {
              "table_name": "cscart_product_prices",
              "access_type": "ALL",
              "possible_keys": [
                "usergroup",
                "product_id",
                "lower_limit",
                "usergroup_id"
              ],
              "rows": 76,
              "filtered": 26.31579018,
              "attached_condition": "cscart_product_prices.lower_limit = 1 and cscart_product_prices.product_id in (371,370,369,368,367,366,365,364,363,362,361,360,359,358,357,356,355,354,353,352) and cscart_product_prices.usergroup_id in (0,1)"
            }
          }
        ]
      }
    }
  }
}

Result

product_id price
352 98000.00000000
353 348000.00000000
354 162000.00000000
355 576000.00000000
356 105000.00000000
357 512000.00000000
358 382000.00000000
359 84000.00000000
360 101000.00000000
361 92000.00000000
362 108000.00000000
363 188000.00000000
364 156000.00000000
365 173000.00000000
366 82000.00000000
367 65000.00000000
368 102000.00000000
369 86000.00000000
370 27000.00000000
371 28000.00000000