请大佬看看哪错了
by wsqin_qwq @ 2023-01-01 13:47:27
迟来的答复,不知道lz解决问题了没有。
问题在代码中(22行)标出来了。
应该是粗心大意没检查到。
```c
#include<iostream>
#include<algorithm>
using namespace std;
struct Q{
int s,q;
}a[10005];
int v[10005];
int cmp(Q a,Q b){
if(a.s==b.s){
return a.q>b.q;
}
return a.s<b.s;
}
int main(){
int m,n;
cin>>m>>n;
for(int i=1; i<=n; i++) cin>>a[i].s;
for(int i=1; i<=n; i++) cin>>a[i].q;
sort(a+1,a+n+1,cmp);
for(int i=1; i<=n; i++){
//v[i]=a[i].q; v[i]的写法有点奇怪,按照定义应是如下写法。
if(v[a[i].s]==0) v[a[i].s]=a[i].q;
else{
int minn=1e9,f=0;
for(int j=1; j<=a[i].s; j++){
if(v[j]<a[i].q){
if(minn>v[j]){
minn=v[j];
f=j;
}
}
}
if(f==0) m-=a[i].q;
else{
m-=v[f];
v[f]=a[i].q;
}
}
}
cout<<m;
}
```
by Adelaide_Black @ 2023-01-04 16:02:34
@[wusiqin](/user/849486)
by Adelaide_Black @ 2023-01-04 16:04:12
@[qtww_Yan](/user/450334) 感谢大佬Orz
by wsqin_qwq @ 2023-01-04 20:13:55