有点难哦
2025-07-09 15:43:02
发布于:浙江
8阅读
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; 
}```
这里空空如也







有帮助,赞一个