最后两个TLE
查看原帖
最后两个TLE
615344
jjy2008楼主2022/7/25 20:39
#include <bits/stdc++.h>
using namespace std;

int main() {
	long long n,a[114514],w,max=0,j=0;
	scanf("%lld",&n);
	for(int i=1; i<=n; i++) {
		scanf("%lld",&a[i]);
	}
	scanf("%lld",&w);
	sort(a+1,a+n+1);
	for(int i=n; i>=1; i--) {
		if(w>=a[i]){
			max=a[i];
			break;
		}
	}
	for(int i=1; i<=n; i++) {
		if(i==1) {
			if(w<a[i]) {
				j=0;
				break;
			}
			if(w==a[i]&&a[i+1]==a[i]) {
				j=1;
				break;
			}
		}
		if(max>=a[i]) {
			j++;
			max-=a[i];
		}
	}
	cout<<j;
	return 0;
}
2022/7/25 20:39
加载中...