#include<bits/stdc++.h>
using namespace std;
const int N=505;
int w[N],f[N],v[N];
int p[N][N],p2[N][N],dp[N][N];
int main()
{
ios::sync_with_stdio(false);
cin.tie(0),cout.tie(0);
int n,q;cin>>n>>q;
for(int i=1;i<=n;i++) cin>>w[i]>>f[i]>>v[i];
memset(p,-1,sizeof(p));
memset(p2,-1,sizeof(p2));
memset(dp,-1,sizeof(dp));
dp[0][0]=0;
for(int i=1;i<=500;i++)
for(int j=500;j>=w[i];j--)
{
for(int k=501;k>=501-f[i];k--)
dp[j][501]=max(dp[j][501],dp[j-w[i]][k]+v[i]);
for(int k=500;k>=f[i];k--)
dp[j][k]=max(dp[j][k],dp[j-w[i]][k-f[i]]+v[i]);
}
for(int i=0;i<=500;i++)
for(int j=501;j>=0;j--)
p2[i][j]=max(p2[i][j+1],dp[i][j]);
for(int i=0;i<=500;i++)
for(int j=501;j>=0;j--)
p[i][j]=max(p[max(0,i-1)][j],p2[i][j]);
while(q--)
{
int x,y;cin>>x>>y;
if(p[x][y]!=-1) cout<<p[x][y]<<endl;
else puts("0");
}
return 0;
}
看着题解写的,写完了交上去10分,看了无解输出0后还是10分,把题解弄下来改一改交上去还是10分,到底出了什么错啊???(别说我抄题解,那也是万不得已,真的搞不明白结果弄好之后更不明白了)。