警示后人(P1161)
  • 板块P1161 开灯
  • 楼主name_used
  • 当前回复1
  • 已保存回复1
  • 发布时间2025/7/28 07:41
  • 上次更新2025/7/28 07:44:50
查看原帖
警示后人(P1161)
1807370
name_used楼主2025/7/28 07:41

程序炸了咋办

由于题目中

数据保证,在经过 n 次操作后,有且只有一盏灯是开> 的,不必判错。而且对于所有的 i 来说,ti×ai 的最大值不超过 2000000。

所以数组最小要开2000000,否则会有测试点RE(re的人可能是这个原因)

数组貌似有点大,所以一定一定不能把数组定义到main函数里,否则会炸

另外,数组一定要清空啊!!!!!!

数据不清空,爆零两行泪

code:

#include<bits/stdc++.h>
using namespace std;
int lamp[2000010]={0};
int main(){
	int n,t,k;
	double a;
	cin>>n;
	while(n--){
		cin>>a>>t;
		for(int i=1;i<=t;i++){
			k=(int)i*a;
			if(lamp[k]==0)lamp[k]=1;
			else lamp[k]=0;
		}
	}
	for(int i=1;1;i++){
		if(lamp[i]==1){
			cout<<i;
			return 0;
		}
	}
}

不过这题好像有点水

2025/7/28 07:41
加载中...