2840: 【例52.1】 不与最大数相同的数字之和
内存限制:64 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:21
解决:16
题目描述
输出一个整数数列中不与最大数相同的数字之和。
输入
输入分为两行:第一行为 $N$ 为接下来数的个数($N≤100$);
第二行为 $N$ 个整数,数与数之间以一个空格分开,每个整数的范围是: $−1,000,000$ 到 $1,000,000$ 。
第二行为 $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;
}