玄关,求调
查看原帖
玄关,求调
782721
xyzcoolplayer楼主2024/3/25 16:46

前三个点 MLE 后七个点 TLE,本地样例和自己的数据过了,已经确认是输入的问题。

#include<bits/stdc++.h>
using namespace std;
struct node{
	int p1,p2;
};
int n,ma,flag,mo,ans,l,r,p,pp;
node a[1005];
bool cmp(node x,node y){
	x.p2-x.p1>y.p2-y.p1;
}
int main(){
	cin>>n>>ma;
	for(int i=0;i<n;i++){
		p=0,pp=0;
		cin>>p;
    	if(getchar()==' '){
    	    cin>>pp;
    	    if(pp-ma<=p) mo+=p;
     	   else a[r].p1=p,a[r].p2=pp-ma,r++;
    	}else mo+=p;
	}
	sort(a,a+r,cmp);
	while(l<r){
		if(mo<ma){
			for(int i=r-1;i>=l;i--){
				r--;
				mo+=a[i].p1;
				if(mo>=ma) break;
			}
		}else{
			mo+=a[l].p2;
			l++;
		}
	}
	cout<<mo;
	return 0;
}

记录

2024/3/25 16:46
加载中...