8 条题解

  • 5
    @ 2023-5-13 18:40:17

    直接复制

    已AC😄😄😄

    #include <bits/stdc++.h>
    using namespace std;
    long long n, amax = 0, amin = 100001, x, sum, cnt;
    long long a[1123456];
    int main()
    {
        ios::sync_with_stdio(false);
        cin.tie(0);
        cin >> n;
        for (int i = 1; i <= n; i++)
        {
            cin >> a[i];
            amax = max(amax, a[i]);
            amin = min(amin, a[i]);
        }
        x = (amax + amin) / 2;
        for (int i = 1; i <= n; i++)
        {
            if (a[i] >= x)
            {
                sum += a[i];
                cnt++;
            }
        }
        cout << sum / cnt << endl;
        return 0;
    }
    
    • 1
      @ 2023-10-5 22:02:14

      别人:

      image

      我:

      image

      #include <iostream>
      using namespace std;
      int main()
      {
          long long n,avg,avg1,a[1000001],num=0,sum=0,nnax=-114514,nnin=114514;
          cin>>n;
          for (int i=1;i<=n;i++)
          {
              cin>>a[i];
              nnax=max(a[i],nnax);
              nnin=min(a[i],nnin);
          }
          avg=(nnax+nnin)/2;
          for (int i=1;i<=n;i++)
          {
              if (a[i]>=avg)
              {
                  sum+=a[i];
                  num++;
              }
          }
          avg1=sum/num;
          cout<<avg1;
          return 0;
      }
      

      已AC

      • 1
        @ 2023-10-5 17:58:21

        image

        • 1
          @ 2022-10-11 15:29:27

          虽然题目说是基础,但我第一反应是排序。

          然后平均,再然后二分,最后输出就完了。

          具体看代码。

          sort(a+1,a+n+1);//排序 
          long long sum=0,avg=(a[1]+a[n])/2;
          avg = lower_bound(a+1,a+n+1,avg)-a;//平均数的下标 
          for(int i = avg;i<=n;++i)
          sum+=a[i];
          sum/=(n-avg+1);
          cout<<sum;//平均数 
          return 0;
          

          十年OI一场空,不开longlong见祖宗

          要是在普通省/强省考过了CSP-J初赛还看不懂的话,OI生涯就结束了罢……(悲)

          • 0
            @ 2022-10-11 20:04:42

            # HT1062. 基础算法大杂烩 题解

            前言

            嗨嗨嗨,我又来啦!!!
            这是一道非常水的题

            思路

            最值(很简单吧)+平均数(也很简单吧)+计数(还是很简单吧)

            AC Code(防抄袭)

            #include <bits/stdc++.h>
            #define int long long
            using namespace std;
            int n, a[1000005], mx, mi, avg, cnt, ans;
            signed main()
            {
            	cin >> n;
            	for (int i = 1; i <= n; i++) {
            		cin >> a[i];
            		mx = max(mx, a[i]);
            		mi = min(mi, a[i]);
            	}
            	avg = (mx + mi) / 2;
            	for (int i = 1; i <= n; i++) {
            		if (a[i] >= avg) {
            			ans += a[i];
            			cnt++;
            		}
            	}
            	cout << ans / cnt;
            	return 0;
            }
            
            • 0
              @ 2021-8-6 10:15:07

              按要求模拟即可,需要注意 sumsum 有可能会超过 int 的范围

              int 大概能保存 2×1092×109-2\times 10^9 \sim 2\times 10^9

              long long 大概能保存 9×10189×1018-9\times 10^{18} \sim 9\times 10^{18}

              cin >> n;
                  for (int i = 1; i <= n; i++)
                  {
                      cin >> a[i];
                      amax = max(amax, a[i]);
                      amin = min(amin, a[i]);
                  }
                  x = (amax + amin) / 2;
                  for (int i = 1; i <= n; i++)
                  {
                      if (a[i] >= x)
                      {
                          sum += a[i];
                          cnt++;
                      }
                  }
                  cout << sum / cnt << endl;
              
              • -4
                @ 2022-8-28 21:17:41
                sort(a+1,a+n+1);
                    int x=(a[1]+a[n])/2;
                    for (int i=n;a[i]>=x;i--)
                    {
                        ans+=a[i];
                        h++;
                    }
                
                • -9
                  @ 2022-4-24 16:53:58

                  写题解请注意

                  鼓励大家写题解,但注意题解格式。

                  题解一定要有思路解析或代码注释,能否让别人理解你的思路

                  也是你的能力的检验,不要只放无意义的代码给大家复制,那就失去了做题的初心。

                  给代码两端加上这个会舒服一些

                  ```cpp

                  你的代码

                  ```

                  </span>

                  这个点在键盘的左上角tab上面那个键,注意切换输入法

                  #include<iostream>
                  using namespace std;
                  int main()
                  {
                      int n;
                      cin>>n;//这是一个注释
                      return 0;
                  } 
                  

                  请注意严禁抄袭题解,写题解不要只放代码,需加上你的思路或代码注释。

                  抄袭题解一经发现直接取消成绩。

                  题解被删除的可能

                  1. 代码不符合格式规范
                  2. 没有思路讲解或者没有注释,
                  3. 无意义的题解

                  大家携手共同维护一个良好的编程环境,如果一经发现,多次作乱。可能会被管理员拉黑,请注意,一旦拉黑即失去登陆资格。

                  • 1

                  信息

                  ID
                  1198
                  时间
                  1000ms
                  内存
                  256MiB
                  难度
                  6
                  标签
                  递交数
                  923
                  已通过
                  257
                  上传者