有人知道我的 P1097统计数字 为什么超时2个点? (因为复杂度???O(n2))
#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
struct as
{
int s,t;
};
bool flag=true;
int a[200010],n;
as b[10010];
bool cmp(as x,as y)
{
return x.s<y.s;
}
int main()
{
cin>>n;
int cnt=0;
for(int i=0;i<n;i++)
{
cin>>a[i];
}
for(int i=0;i<n;i++)
{
for(int j=0;j<cnt;j++)
{
if(a[i]==b[j].s)
{
b[j].t++;
flag=false;
break;
}
}
if(flag==true)
{
b[cnt].s=a[i];
b[cnt].t++;
cnt++;
}
flag=true;
}
sort(b,b+cnt,cmp);
for(int i=0;i<cnt;i++)
{
cout<<b[i].s<<" "<<b[i].t<<endl;
}
return 0;
}
(本蒟蒻很菜的,不要问我为什么问这么简单的问题)