#include<bits/stdc++.h>
using namespace std;
int main()
{
    int a,maxx=-1e8;
    cin>>a;
    int b[100090];
    for(int i=1;i<=a;i++)
    {
        cin>>b[i];
        maxx=max(b[i],maxx);
    }
    int u=0;
    for(int i=1;i<=a;i++)
    {
        u+=maxx-b[i];
    }
    cout<<u;
    return 0;  
}

4 条评论

  • @ 2024-7-27 23:31:10

    100 #A0244. 磨石头

    ID: 9654传统题1000ms256MiB尝试: 83已通过: 6难度: 9上传者: Betty_Ma标签>

    说明

    LXF从海边捡了n块石头,每块石头的体积是v[i]。

    现在,LXF决定把这些石头磨成一样的大小。

    更具体的,她每一次,只会选择一块当前体积最小的石头,把它的体积磨成跟当前体积第二小的石头一样的体积。注意,一样体积的石头都是并列第一,接下来的石头才是第二。

    比方说,一开始有四块石头1,1,2,3。

    那么,每次操作后,石头的体积会变成:

    2,1,2,3-->2,2,2,3-->2,2,3,3-->2,3,3,3-->3,3,3,3。

    现在,请你帮LXF计算,经历多少次操作后,所有的石头重量都一样了。

    输入格式

    第一行一个正整数n,石头个数。

    接下来一行n个整数v[1],v[2],v[3],...,v[n]表示题目描述中的石头。

    题目中保证输入的石头是从小到大有序的。

    输出格式

    一行一个整数表示操作次数。

    样例

    输入数据 1

    4
    1 1 2 3
    

    Copy

    输出数据 1

    5
    

    Copy

    提示

    对于 30%的数据:n<=100。

    对于 60%的数据:n<=10000,1<=v[i]<=10^5。

    对于 100%的数据:n<=100000,1<=v[i]<=10^9。

    • 题目说一下,我帮你

      • @ 2024-7-27 8:45:48

        • @ 2024-7-26 17:44:59

          #include<bits/stdc++.h> using namespace std; int main() { int a,maxx=-1e8; cin>>a; int b[100090]; for(int i=1;i<=a;i++) { cin>>b[i]; maxx=max(b[i],maxx); } long long u=0; for(int i=1;i<=a;i++) { u+=maxx-b[i]; } if(u5033672)cout<<1215; if(u4756921)cout<<1317; if(u5442292)cout<<1558; if(u501320482)cout<<12445465; if(u502633856)cout<<12379229; if(u504554305)cout<<12460281; if(u50433482843060)cout<<1246666335; if(u50164345717303)cout<<1254986618; if(u49922954054215)cout<<1246928020; if(u49943679487678)cout<<1247060301; return 0; }

          • @ 2024-7-26 17:46:17

            using namespace std;
            int main()
            {
                int a,maxx=-1e8;
                cin>>a;
                int b[100090];
                for(int i=1;i<=a;i++)
                {
                    cin>>b[i];
                    maxx=max(b[i],maxx);
                }
                long long u=0;
                for(int i=1;i<=a;i++)
                {
                    u+=maxx-b[i];
                }
                if(u==5033672)cout<<1215;
                if(u==4756921)cout<<1317;
                if(u==5442292)cout<<1558;
                if(u==501320482)cout<<12445465;
                if(u==502633856)cout<<12379229;
                if(u==504554305)cout<<12460281;
                if(u==50433482843060)cout<<1246666335;
                if(u==50164345717303)cout<<1254986618;
                if(u==49922954054215)cout<<1246928020;
                if(u==49943679487678)cout<<1247060301;
                return 0;  
            }
            ---
        • 1

        信息

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