我的代码如下:
#include<bits/stdc++.h>
using namespace std;
long long v[10086],w[10086];
long long f[114514];
int main()
{
long long n,l;
cin>>n>>l;
for(int i=1;i<=n;i++)
cin>>v[i]>>w[i];
for(int i=1;i<=n;i++)
for(int j=l;j>=v[i];j--)
if(j>=v[i])
f[j]=max(f[j],f[j-v[i]]+w[i]);
for(int i=0;i<114514;i++)
if(f[i]>=l)
{
cout<<i;
return 0;
}
cout<<"no solution";
return 0;
}
哪位同学帮忙看看我的思路哪里出现问题了,运行不通过。