有没有哪位大佬能救一下我这个蒟蒻啊啊啊!!
#include<bits/stdc++.h>
using namespace std;
int n, l, w[1002005], v[1002005], maxn = 0;long long dp[1002005], minn = 2e9 + 10;
int main()
{
cin >> n >> l;
for(int i = 1; i <= n; i++)
{
cin >> v[i] >> w[i];
maxn = max(maxn, w[i]);
}
memset(dp, 0x3f, sizeof(dp));
dp[0] = 0;
for(int i = 1; i <= n; i++)
{
for(int j = l+maxn;j >= 0;j--)
{
dp[j]=min(dp[j], dp[j - w[i]] + v[i]);
}
}
for(int j = l;j <= l+maxn;j++)
{
minn = min(minn, dp[j]);
}
if (minn < 2e9 + 10) cout << minn;
else cout << "no solution" << endl;
return 0;
}