hack
查看原帖
hack
592238
Elairin176楼主2023/8/18 20:40
const int N=20000;
int n,a[N+10];
ll sum,ans;
int main(void){
	n=read();
	for(int i=1;i<=n;i++){
		a[i]=read();
		sum+=a[i];
	}
	for(int i=1;i<n;i++){
		ans=_max<int>(ans,a[i]+a[i%n+1]);
	}
	ans=_max<ll>(ans,(sum+n/2-1)/(n/2));
	write(ans);
	ret 0;
}

这是我的 AC 代码,但是明显可以 hack。
题解太多不想测了。
第一组:
输入 1 5,我的程序 RE 了。显然输出应该为 5。
第二组:
输入 4 4 0 0 4,我的程序输出 4,显然答案应该是 8。

接下来说一下这些数据为什么能卡。
第一组:我的程序没有特判 n=1n=1,所以最后计算结果的时候 ⌊n2⌋\lfloor\dfrac{n}{2}\rfloor 算出了 00,再一除,导致了 RE。
第二组:这份程序没有从 11 枚举到 nn,导致了边界情况没有判断,所以 WA 了。

2023/8/18 20:40
加载中...