B2094 不与最大数相同的数字之和 题解
题目传送门
对于这道题,我们可以从反方向去想:
设
求
求 sort()函数。由于不是这篇题解的重点,这里就不多说了,想知道更多的可以看这里。
这里重点想说的是求
我们固然可以一个一个数去判断,但实际上我们还有更方便的方法:使用count()函数。
使用count()函数时,须引用algorithm头文件。它的参数是count(first,last,value)。其中first是容器的首迭代器,last是容器的末迭代器,value是询问的元素。它的功能是统计容器中等于value元素的个数。有关count()函数的更多知识,可以看这里和这里。
以下是代码。
#include<iostream>
#include<algorithm>
using namespace std;
int n,a[200],s,m,t,ans;
int main(){
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
s+=a[i];
}
sort(a+1,a+n+1);
m=a[n];
t=count(a+1,a+n+1,m);
ans=s-m*t;
cout<<ans;
return 0;
}