第五个点wa了
查看原帖
第五个点wa了
849486
wsqin_qwq楼主2023/1/1 13:46

(感谢大佬)

#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;
	}
//if(a.q==b.q){
//	return a.s<b.s;
//}
	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++){
//		cout<<a[i].s<<" "<<a[i].q<<endl;
//	}
	for(int i=1; i<=n; i++){

		if(v[a[i].s]==0){
			
			v[i]=a[i].q;
			
		}else{
		//	cout<<a[i].s<<" "<<a[i].q<<endl;
			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{
			//	cout<<v[f]<<endl;
				m-=v[f];
				v[f]=a[i].q;
				
			}
			
		}
	}
	cout<<m;
}

(感谢大佬)

2023/1/1 13:46
加载中...