60分求助!
查看原帖
60分求助!
1278788
aojiaoluolisaiban楼主2024/3/17 13:56

dp[i]代表选了i以后剩余的空间

#include<bits/stdc++.h>
using namespace std;
int v,n;
int dp[32];
int a[32];
int ans = INT_MAX;
int main()
{
    cin >> v >> n;
    for(int i = 1;i <= n ; i++)
    {
        cin >> a[i];
        dp[i] = v-a[i];
    }
    dp[0] = v;
    for(int i = 1;i <= n; i++)
    {
        if(dp[i-1]-a[i]>=0)
        dp[i] = min(dp[i],dp[i-1]-a[i]);
        else
        dp[i] = dp[i-1];
        ans = min(ans,dp[i]);
    }
    cout << ans <<endl;
    return 0;
}

样例3和5木有过哇

2024/3/17 13:56
加载中...