为何RE
查看原帖
为何RE
361141
_JF_殉情楼主2022/7/24 17:51
#include<bits/stdc++.h>
using namespace std;
const int N =1e6+10;
int vis[N],a[N];
priority_queue<int,vector<int>,greater<int> >q;
int main()
{
	int n,maxx=-INT_MAX;
	cin>>n;
	for(int i=1,x;i<=n;i++)
	{
		cin>>x,q.push(x);
		a[i]=x;
	}
	int m;
	cin>>m;
	for(int i=1;i<=n;i++)
	{
		if(a[i]<m)
			maxx=max(maxx,a[i]);
	}
	int sum=0,ans=0;
	m-=maxx;
	vis[maxx]=true;
	while(!q.empty())
	{
		int now=q.top();
		if(now==maxx&&vis[now]==true)
		{
			vis[maxx]=false;
			q.pop();
			continue;
		}
		if(sum+now<=maxx)
		{
			ans++;
			q.pop();
		}
		else
			break;
	}
	cout<<ans<<endl;
}
2022/7/24 17:51
加载中...