1s时限跑了1.2s却AC了
  • 板块灌水区
  • 楼主under_hole
  • 当前回复3
  • 已保存回复3
  • 发布时间2024/8/5 08:46
  • 上次更新2024/8/5 09:54:30
查看原帖
1s时限跑了1.2s却AC了
1291460
under_hole楼主2024/8/5 08:46

评测记录在这

代码在这:

#include<bits/stdc++.h>
using namespace std;
/*2024/7/27
*question id:SP20979
*answer:
*idea:
*else:
*/
int n,a[5005],ans;
unordered_map<int,bitset<1>> s3,s2,s1;
int main(){
	scanf("%d",&n);
	for(int i=1;i<=n;i++)scanf("%d",&a[i]);
	for(int i=1;i<=n;i++){
		int np=a[i];
		for(int j=1;j<i;j++)
			if(s1[np-a[j]]==1||s2[np-a[j]]==1||s3[np]==1){ans++;break;}
		s2[a[i]<<1]=1;s3[(a[i]<<1)+a[i]]=1;
		for(int j=1;j<i;j++)s1[a[i]+a[j]]=1;
	}
	printf("%d",ans);
	return 0;
}

所以为什么会这样?

2024/8/5 08:46
加载中...