2 条题解

  • 0
    @ 2025-11-21 12:17:33
    #include<bits/stdc++.h> 
    using namespace std;
    int  a[101];
    int main()
    {
        int n,cnt = 0;
        cin>>n;
        for (int i = 0; i < n; i++)
    	{
    		cin >> a[i];
    	}
        
        while (true) 
    	{
            bool all_zero = true;
            for (int i = 0; i < n; i++)
    		{
                if (a[i] != 0)
    			{
                    all_zero = false;
                    break;
                }
            }
            if (all_zero)
    		{
    			break;
    		}
            int max_idx = 0;
            for (int i = 1; i < n; i++)
    		{
                if (a[i] >= a[max_idx])
    			{
    				max_idx = i;
    			}
            }
            int min_val = 101;
            for (int i = 0; i < n; i++)
    		{
                if (a[i] != 0 && a[i] < min_val)
    			{
    				min_val = a[i];
    			}
            }
            a[max_idx] -= min_val;
            cnt+=1;
        }
        cout << cnt;
        return 0;
    }
    
    

    信息

    ID
    5639
    时间
    1000ms
    内存
    128MiB
    难度
    3
    标签
    递交数
    1
    已通过
    1
    上传者