0
已解决
柯以成
新手光能
新手光能
#include<bits/stdc++.h>
#include<iostream>
#include<iomanip>
#include<algorithm>
#include<map>
#include<cstring>
#include<string>
#include<stack>
#include<cstdio>
#include<cmath>
#include<cstdlib>
#include<vector>
#include<set>
#include<ctime>
#include<cctype>
#include<queue>
using namespace std;
long long a[500005],b[10050];
int main ()
{
int n,f=0,p=0;
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
b[a[i]]++;
}
for(int i=1;i<=10000;i++){
if(b[i]!=0){
if(b[i]>f){
f=b[i];
p=i;
}
}
}
cout<<f;
return 0;
}
哪错了,请大佬赐教
0
已采纳
缪鲲鹏
新手光能
新手光能
思路是对的,只不过数组定义太小了,造成很多数无法输入.
改错及优化:
错:
1.根据题目要求,把a数组的范围改成1000001
优化:
1.把b数组范围改成2005
2.把头文件全删了,只留下一个#include <iostream>
3.把long long 改成 int
4.把第二个for循环的出门条件改成i<=2005
0
褚俊皓
新手天翼
新手天翼
思路是对的,只不过数组定义太小了,造成很多数无法输入.
改错及优化:
错:
1.根据题目要求,把a数组的范围改成1000001
优化:
1.把b数组范围改成2005
2.把头文件全删了,只留下一个#include <iostream>
3.把long long 改成 int
4.把第二个for循环的出门条件改成i<=2010
0