O2的小问题
查看原帖
O2的小问题
344081
MilesHunter楼主2020/8/1 19:11

有点玄学,我第一次提交,担心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优化能把我数组问题解决掉?

2020/8/1 19:11
加载中...