有点难哦
2025-07-09 15:43:02
发布于:浙江
2阅读
0回复
0点赞
#include <bits/stdc++.h>
using namespace std;
int n,m;
struct node{
int T,R;
};
bool cmp(node x,node y){
return x.R > y.R;
}
node a[1010];
bool arrange[500];
int main(){
cin >> m;
cin >> n;
int ans = 0;
memset(arrange,false,sizeof arrange);
for(int i = 0;i < n;i++){
cin >> a[i].T;
}
for(int i = 0;i < n;i++){
cin >> a[i].R;
ans += a[i].R;
}
sort(a,a + n,cmp);
int sum = 0;
for(int i = 0;i < n;i++){
for(int t = a[i].T - 1;t >= 0;t--){
if(!arrange[t]){
arrange[t] = true;
sum += a[i].R;
break;
}
}
}
cout << m - (ans - sum);
return 0;
}```
这里空空如也
有帮助,赞一个