2 条题解

  • 1
    @ 2025-9-6 17:50:56
    //此题解会超时,仅供参考思路
    #pragma GCC optimize(2)
    #include<bits/stdc++.h>
    using namespace std;
    int main()
    {
    	int n,m,t,b,x,i,f;
    	cin>>n>>x;
    	int a[n],ans[n];
    	for(i=0;i<n;i++)
    	{
    		cin>>a[i];
    		ans[i]=0;
    	}//输入与初始化
    	sort(a,a+n) ;//排序
    	for(f=0;f<n;f++)
    	{
    		b=a[f];//b是这组最低分
    		t=b;//当前总分数
    		m=1;//当前小组组成员数
    		for(i=f;i<n;i++)
    		{
    			if(t>=x)//判断已达标
    			{
    				ans[f]++;//舍弃低分员工后的ans计数增加
    				b=a[i+1];
    				t=b;
    				m=1;//重置成员组数据
    			}
    			else
    			{
    				t=b*m;
    				m++;//添加成员
    			}
    		}
    		if(ans[f]>ans[0])
          ans[0]=ans[f];//仅保留最大的ans计数
    	}
    	cout<<ans[0];//输出最大ans计数
    	return 0;
    }
    //更新:tmd我是傻逼,倒过来算就行了
    

    [2025 新生训练赛 2] 从没有感觉打工快乐过

    信息

    ID
    189
    时间
    1000ms
    内存
    256MiB
    难度
    8
    标签
    递交数
    67
    已通过
    9
    上传者