1
已解决
王欣怡
新手光能
新手光能
2018年全国参加高考人数达975万,高考总分750分。现给出某个范围(小组,班级,学校,区,市,省等)参考高考的人数n,以及每一个人的高考成绩,请统计输出哪个分数的人最多。
2行,第一行一个正整数n,表示参加高考人数;第二行为高考成绩。
2行,第一行一个正整数,为最多的人得到的分数;第二行一个正整数,为得到这个分数的人数。如果两个分数的人数一样,输出分数较大的那个。
5 695 680 702 630 695
695 2
1<=n<=1000000,0<每个分数都是正整数<=750。
【题目网址】
帮帮我!
#include<iostream>
#include<cmath>
using namespace std;
long long n,c[1000001],a[1000001],maxn,a1;
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>a[i];
c[a[i]]++;
}
for(int i=1;i<=n;i++)
{
if(c[a[i]]>=maxn)
{
if(c[a[i]]==maxn)
{
maxn=max(c[a[i]],maxn);
a1=max(a[i],a1);
}
else
{
maxn=c[a[i]];
a1=a[i];
}
}
}
cout<<a1<<endl<<maxn;
return 0;
}
这是我的程序
总是超时:
--》
运行超时
++++++++++
第1个测试点通过
第2个测试点通过
第3个测试点通过
第4个测试点通过
第5个测试点通过
第6个测试点通过
第7个测试点通过
第8个测试点通过
第9个测试点通过
第10个测试点通过
谁能教教?发整段也没关系,我不举报!
0
0
0
0
0
0
0
0
0