炒股失败

· · 题解

P14751 醒来之后,我回到了汰换系统更新前 题解

题目传送门

第一眼以为是纪念品续集,再一看实际就是一个贪心。

首先,要使利润最多,肯定要在售价最贵的时候卖出。

其次,如果一件商品购入价比最贵售价还高,那么怎么样都是亏本,那就直接不买。

附代码。

//coder:shimizu_kiouka
//problem:#P14751
//2025/12/14
//And in that light,I find the deliverance.

#include <bits/stdc++.h>
using namespace std;
int n,m,k;
int c[1111],v[1111];//c为购入价,v为最大售价
int res=0;
int main(){
    ios::sync_with_stdio(0);
    cin.tie(0),cout.tie(0);
    cin>>n>>m;
    for(int i=1;i<=n;i++){
        cin>>c[i];
    }
    for(int i=1;i<=m;i++){
        for(int j=1;j<=n;j++){
            cin>>k;
            v[j]=max(k,v[j]);//取最大售价
        }
    }
    for(int i=1;i<=n;i++){
        res+=max(0,v[i]-c[i]);//如果最大售价小于购入价,就不买,则该物品利润为0
    }
    cout<<res;
}

感谢观看。