3 条题解

  • 0
    @ 2025-7-27 9:03:20

    #include<bits/stdc++.h> using namespace std; int a[100010]; int main() { int n,maxn=0,minn=101010; cin>>n; for(int i=1;i<=n;i++)cin>>a[i]; for(int i=1;i<=n;i++) { if(a[i]>maxn)maxn=a[i]; if(a[i]<minn)minn=a[i]; } cout<<maxn<<" "<<minn; }

    • 0
      @ 2024-3-12 16:28:15

      只需要输出最轻的和最重的即可:

      #include <bits/stdc++.h>
      using namespace std;
      int n,a[110000];
      bool cmp (int x,int y) {return x>y;}
      int main() {
      	cin>>n;
      	for (int i=1;i<=n;i++) cin>>a[i];
      	sort (a+1,a+1+n,cmp);
      	cout<<a[1]<<" "<<a[n];
      	return 0;
      }
      
      • 0
        @ 2022-6-21 12:41:17

        【问题描述】

        有一个老板有一袋金块。每个月将有两名雇员会因其优异的表现分别被奖励一个金块。按规矩,排名第一的雇员将得到袋中最重的金块,排名第二的雇员将得到袋中最轻的金块。根据这种方式,除非有新的金块加入袋中,否则第一名雇员所得到的金块总是比第二名雇员所得到的金块重。如果有新的金块周期性的加入袋中,则每个月都必须找出最轻和最重的金块。假设有一台比较重量的仪器,我们希望用最少的比较次数找出最轻和最重的金块。 这道题目可以不用2分,因为通过“则每个月都必须找出最轻和最重的金块”这句话,我们完全可以用快排。

        代码如下:

        #include <iostream> #include <bits/stdc++.h> using namespace std; long long n,a[1000000]; int main() { cin>>n; for(int i=1;i<=n;i++) cin>>a[i]; sort(a+1,a+1+n);//将所有的金块重量进行排序。 cout<<a[n]<<' '<<a[1];//a[n]指最大的金块重量,a[1]指排序后最轻的金块重量。 return 0; }

        • 1

        金块问题(gold)(使用二分法)

        信息

        ID
        81
        时间
        1000ms
        内存
        256MiB
        难度
        1
        标签
        (无)
        递交数
        67
        已通过
        46
        上传者