2840: 【例52.1】 不与最大数相同的数字之和

内存限制:64 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:21 解决:16

题目描述

输出一个整数数列中不与最大数相同的数字之和。

输入

输入分为两行:第一行为 $N$ 为接下来数的个数($N≤100$);
第二行为 $N$ 个整数,数与数之间以一个空格分开,每个整数的范围是: $−1,000,000$ 到 $1,000,000$ 。

输出

输出为 $N$ 个数中除去最大数其余数字之和。

样例输入 复制

3
1 2 3

样例输出 复制

3

提示

#include<bits/stdc++.h>
using namespace std;
long long n,a[105],x=-100000000,ans;
int main(){
    cin>>n;
    for(int i=1;i<=n;i++){
        scanf("%lld",a+i);
        x=max(*(a+i),x);
    }
    for(int i=1;i<=n;i++){
        if(*(a+i)!=x) ans+=*(a+i);
    }
    cout<<ans;
    return 0;
}

#include<bits/stdc++.h>
using namespace std;
long long n,t,x=-100000000,ans;
vector<long long> v;
int main(){
    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>t;
        v.push_back(t);
        x=max(t,x);
    }
    for(vector<long long>::iterator it=v.begin();it !=v.end(); ++it){
        if(*it!=x) ans+=*it;
    }
    cout<<ans;
    return 0;
}