中间数

网友投稿 590 2022-11-18

中间数

中间数

中间数

​​from CCF-CSP 2016-12-1​​

Time limit:1s

Memory limit:256MB

前缀和问题,先将所有数字进行从小到大排序,然后统计比它大的数和比它小的数的个数,如果个数相等,那么就是找到了,否则输出-1。

ac代码

#include#includeusing namespace std;int n,x[1005]; //n个数,存储这些数的数组int pre[1005],rear[1005]; //分别记录前缀小和后缀大int main(){ cin>>n; for(int i = 1;i <= n;++i) cin>>x[i]; sort(x + 1,x + n + 1); for(int i = 1;i <= n;++i) //找前缀小 if(x[i] != x[i - 1]) pre[i] = i - 1; else pre[i] = pre[i - 1]; for(int i = n;i >= 1;--i) //找后缀大 if(x[i] != x[i + 1]) rear[i] = n - i; else rear[i] = rear[i + 1]; for(int i = 1;i <= n;++i) if(pre[i] == rear[i]){ cout<

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:mybatis中如何传递单个String类型的参数
下一篇:MyBatis如何调用存储过程与存储函数
相关文章

 发表评论

暂时没有评论,来抢沙发吧~