总时间限制: 1000ms 内存限制: 65536kB
描述
输出一个整数数列中不与最大数相同的数字之和。
输入
输入分为两行:
第一行为N(N为接下来数的个数,N <= 100);
第二行为N个整数,数与数之间以一个空格分开,每个整数的范围是-1000,000到1000,000。
输出
输出为N个数中除去最大数其余数字之和。
样例输入
3
1 2 3
样例输出
3
#include<iostream>
using namespace std;
int main(){
int N;
cin>>N;
long long a[N+5];
long long sum=0;
long long max=-1;
int count=0;
//sum表示所有输入数的总和,max表示输入的最大的数,count表示最大的数出现的次数
for(int i=1;i<=N;i++){
cin>>a[i];
if(a[i]>max){
max=a[i];
//最大的数第一次出现
count=1;
}else if(a[i]==max){
//最大的数每出现一次,count就自增一
count++;
}
sum+=a[i];
}
cout<<(sum-max*count);
return 0;
}