下面是题,不知道哪出错了,有两个测试点没通过,pta上也没样例参考,很难受,请帮忙看看
#include <iostream>
using namespace std;
struct Back
{
int tiji;
int zhiliang;
int kaluli;
};
int main()
{
int n,m,q;
cin>>n>>m>>q;
struct Back back[50];
for(int i=0;i<q;i++)
{
cin>>back[i].tiji;
cin>>back[i].zhiliang;
cin>>back[i].kaluli;
}
for(int i=0;i<q-1;i++)
{
for(int j=0;j<q-i-1;j++)
{
if(back[j].kaluli<back[j+1].kaluli)
{
swap(back[j],back[j+1]);
}
}
}
int sum=0,max=0,t=1;
for(int i=0;i<q;i++)
{
sum=back[i].kaluli;
int l=back[i].tiji;
int r=back[i].zhiliang;
if(l<n&&r<m)
{
for(int j=i+1;j<q;j++)
{
l+=back[j].tiji;
r+=back[j].zhiliang;
if(l<n&&r<m)
{
sum+=back[j].kaluli;
}
else
{
l-=back[j].tiji;
r-=back[j].zhiliang;
}
}
if(max<sum)swap(max,sum);
}
}
cout<<max;
}