有点玄学,我第一次提交,担心TLE,所以开了O2,过了,后来同一份代码试了一下不用O2,竟然没有过?
#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
long long a[200000]={0};
long long n;
int main()
{
cin>>n;
for(long long i=1;i<=n;i++)cin>>a[i];
sort(a+1,a+n+1);
long long sum=1;
for(long long i=2;i<=n;i++)
{
if(a[i]==a[i-1])++sum;
else
{
cout<<a[i-1]<<' '<<sum<<endl;
sum=1;
}
}
cout<<a[n]<<' '<<sum;
return 0;
}
后来是证实是数组开小了,但是为什么O2优化能把我数组问题解决掉?