简单dp,dp[i]表示当前在i位置的最大值。注意答案不是dp[n],因为最大的情况不一定可以走到n这个位置。时间复杂度n^2 #include <bits/stdc++.h> using namespace std; const int MAXN = 1e3+10; int n; int w[MAXN]; int a[MAXN]; int dp[MAXN]; int main() { scanf("%d",&n); for(int i=1;i<=n;++i) scanf("%d",&w[i]); for(int i=1;i<=n;++i) scanf("%d",&a[...