题解:P14643 [POI 2025/2026 #1] 托运 / Carry-on luggage

· · 题解

P14643题解

题目大意

n 个行李箱,它们都能装下一个长,宽,高分别为 X,Y,Z 的大箱子,问这个大箱子的体积最大是多少。

解析

对于每个行李箱,对它的长,宽,高进行排序,取所有行李箱排序后长,宽,高的最小值,最后将它们相乘。

代码

#include<bits/stdc++.h>//万能头
using namespace std;
long long n;//定义
long long min_x=1e18;//长的最小值,注意赋值为1e18
long long min_y=1e18;//宽的最小值
long long min_z=1e18;//高的最小值
int main(){
    cin>>n;
    while(n--){
        vector<long long>a(3,0);//定义数组存行李箱的长,宽,高
        cin>>a[0]>>a[1]>>a[2];//输入
        sort(a.begin(),a.end());//排序
        min_x=min(min_x,a[0]);//求最小值
        min_y=min(min_y,a[1]); 
        min_z=min(min_z,a[2]);
    }
    cout<<min_x*min_y*min_z;//求体积,输出
    return 0;//好习惯
}