2 条题解

  • 2
    @ 2023-9-24 15:32:06

    本题只需要去平均值-当前的值aiai的绝对值最小的数即可

    #include <bits/stdc++.h>
    using namespace std;
    double ans, minn = 9999999;
    int main()
    {
        int n, a[1005], pos;
        cin >> n;
        for (int i = 1; i <= n; i++)
        {
            cin >> a[i];
            ans += a[i];
        }
        ans /= n * 1.0;
        for (int i = 1; i <= n; i++)
        {
            if (abs(ans - a[i]) < minn)
            {
                minn = abs(ans - a[i]);
                pos = a[i];
            }
        }
        cout << pos;
        return 0;
    }
    
    • 1
      @ 2023-2-8 20:04:09
      #include <iostream>
      using namespace std;
      int main()
      {
          double sum=0;
          int n,a[1005];
          cin >> n;
          for(int i=1;i<=n;i++)
          {
              cin >> a[i];
              sum+=a[i];
          }
          double cha=987996,p;
          int c;
          p=sum/n;
          for(int i=2;i<=n;i++)
          {
              if(p>a[i])
              {
                  if(p-a[i]<cha)
                  {
                      cha=p-a[i];
                      c=a[i];
                  }
              }
              else
              {
                  if(a[i]-p<cha)
                  {
                      cha=a[i]-p;
                      c=a[i];
                  }
              }
          }
          cout << c;
      }
      
      • 1

      【入门】马里奥找中等的银币

      信息

      ID
      582
      时间
      1000ms
      内存
      128MiB
      难度
      2
      标签
      递交数
      42
      已通过
      29
      上传者