站外题求助(map)
  • 板块学术版
  • 楼主march_Wu175
  • 当前回复6
  • 已保存回复6
  • 发布时间2023/10/7 22:16
  • 上次更新2023/11/2 14:58:49
查看原帖
站外题求助(map)
725231
march_Wu175楼主2023/10/7 22:16

“某国某地选举州长。该州一共有n个人,分别用1到n编号,其中m个人参与了投票。得票数过半(票数大于m div 2)的人将被选为州长

输入数据将告知这m个人分别将票投给了谁,请统计出谁将担任州长。

第一行两个数n和m。

第二行有m个数,这些数都是不超过n的正整数,表明这m个人的选择。

输出将被选为州长的人。如果没有人的票数过半,请输出-1。 ”

for(int i=1;i<=n;i++){
    if(mp[i]>(m/2)){
	 cout<<i;
	 return 0;
    }
}

为什么这样会内存超出限制。

而这样,就ac了?

for(map<int,int>::iterator it=mp.begin();it!=mp.end();it++){
	if(it->second>(m/2)){
	   printf("%d",it->first);
	   return 0;
	}
 }
2023/10/7 22:16
加载中...