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; }