想知道这样写为什么60分,后面几个点是tle了,是排序问题?
查看原帖
想知道这样写为什么60分,后面几个点是tle了,是排序问题?
383250
ymmyyy楼主2022/7/14 20:38
#include<iostream>
#include<algorithm> 
using namespace std;
unsigned long long n,m,j,k;
unsigned long long a[10000000],b[100000000];
int main(){
	cin>>n>>m;
	for (int i=1;i<=n;i++){
		cin>>a[i]>>b[i];
	}
	for (int i=1;i<=n;i++){
		for (int j=i;j<=n;j++){
			if (a[i]>a[j]){
				swap(a[i],a[j]);
				swap(b[i],b[j]);
			}
		}
	}
	for (int i=1;i<=n;i++){
		if (m>a[i]*b[i]){
			m=m-a[i]*b[i];
			k=k+b[i];
			continue; 
		}else {
			if (m<a[i]*b[i]){
				k=k+m/a[i];
				break;	
			}
		}
	}
	cout<<k;
	return 0;
}
2022/7/14 20:38
加载中...