关于 C++ 14 和 C++14 (GCC 9) 的区别
查看原帖
关于 C++ 14 和 C++14 (GCC 9) 的区别
347664
菲斯斯夫斯基楼主2024/5/27 09:44

rt。为什么下面这段代码在 C++ 14 下 AC,但是在 C++14 (GCC9) 下会 CE 呢?

#include<bits/stdc++.h>
using namespace std;
const int N=1e5+10;
int in[N];
multiset<int>s;
set<int>id;
int solve(int N,int M,vector<int>F,vector<std::vector<int>>v)
{
	s.clear(),id.clear();
	for(int i=0;i<N;i++)
		in[i]=0;
	int ans=0;
	for(int i:F)
		if(i!=-1)in[i]++;
	for(int i=0;i<N-1;i++)
	{
		for(int j=0;j<M;j++)
		{
			s.insert(v[j][i]);
			if(s.count(v[j][i])==M)
			{
				s.erase(v[j][i]),in[F[v[j][i]]]--;
				if(F[v[j][i]]!=0&&!in[F[v[j][i]]]&&id.count(F[v[j][i]]))
					id.erase(F[v[j][i]]);
				if(in[v[j][i]])
					id.insert(v[j][i]);
			}
		}
		if(s.empty()&&id.empty())ans++;
	}
	return ans;
}
2024/5/27 09:44
加载中...