本题可以通过判断如果区间内所有数据均大于修改的最小值就执行区间推平操作的神奇思路通过,显然这种做法并不具有势能。
比如这个大蛇的提交就是这样写的,可以用下面 maker 生成的数据卡掉。
#include<iostream>
using namespace std;
int main(){
int x=1e8,n=5e5;
cout<<n<<'\n';
for(int i=1;i<=n;i++){
if(i&1) cout<<0<<' ';
else cout<<x<<' ';
}
cout<<n<<'\n';
for(int i=1;i<n;i++){
cout<<3<<' '<<1<<' '<<n<<' '<<--x<<'\n';
}
cout<<6<<' '<<1<<' '<<n<<'\n';
return 0;
}
有可能可以添加一个 Hack?