中间英语语法有问题,请忽略哈哈
by zymooll @ 2022-11-03 13:34:59
看讨论区下面我的帖子
f1&&f2里面有问题
by Tom22l @ 2022-11-03 17:51:21
hack:
input:
```
10 10 1000
-15647 -8678 -25079 -724 9065 21135 -29319 -22875 7503 13761
-7213 -13874 22722 -30189 -20964 -16675 -16614 -1112 -9241 -19212
4 10 9 10
1 8 3 10
7 10 7 9
5 6 6 9
```
output:
```
270936879
-16450728
32602728
-151158875
```
your output:
```
270936879
-16450728
32602728
4611686018427387904
```
by AllureLove2410 @ 2022-11-03 20:46:36
@[zymooll](/user/289296)
by AllureLove2410 @ 2022-11-03 20:47:12
应该是哪里出了小问题
by AllureLove2410 @ 2022-11-03 20:48:51
@[AllureLove2410](/user/556455) 大概晓得了,把我的那个初始值 ```INT_MAX``` 搞出来了
by zymooll @ 2022-11-04 11:14:56
加了两个 ```if``` 之后 90pts 了,你给的这个hack也能过
by zymooll @ 2022-11-04 11:23:18
@[AllureLove2410](/user/556455)
by zymooll @ 2022-11-04 11:23:45
```cpp
while(q--){
int l1=read(),r1=read(),l2=read(),r2=read();
Type L=search1(1,l1,r1),Q=search2(1,l2,r2);
//cerr<<L.maxn_z<<" "<<L.minn_z<<" "<<L.maxn_f<<" "<<L.minn_f<<" "<<L.zero<<"\n";
//cerr<<Q.maxn_z<<" "<<Q.minn_z<<" "<<Q.maxn_f<<" "<<Q.minn_f<<" "<<Q.zero<<"\n";
int f1=(L.maxn_z!=INT_MIN&&Q.maxn_f==INT_MIN);//i have Z,but y have not F
int f2=(L.maxn_f!=INT_MIN&&Q.maxn_z==INT_MIN);//i have F,but y have not Z
if(f1&&f2){
cout<<max(L.maxn_z*Q.minn_z,L.minn_f*Q.maxn_f)<<endl;
}
else if(f1){
cout<<L.maxn_z*Q.minn_z<<endl;
}
else if(f2){
cout<<L.minn_f*Q.maxn_f<<endl;
}
else{
if(L.zero)cout<<0<<endl;
else if(L.minn_z==INT_MAX&&Q.minn_f==INT_MAX){
cout<<L.maxn_f*Q.maxn_z<<endl;
}
else if(L.minn_f==INT_MAX&&Q.minn_z==INT_MAX){
cout<<L.minn_z*Q.minn_f<<endl;
}
else cout<<max(L.minn_z*Q.minn_f,L.maxn_f*Q.maxn_z)<<endl;
}
}
```
by zymooll @ 2022-11-04 11:25:14