69分求助xwx(寄)

P1401 [入门赛 #18] 禁止在 int 乘 int 时不开 long long

@[Gohldg](/user/757214) 啊! 你这写的是什么!? `min_ans<-2147483648||max_ans>2147483647` 这不应该是 `long long int` 吗 然后你取 $\min$ 不应该是所有的取 $\min$ 吗 $\max$ 同理。 ```cpp #include <bits/stdc++.h> using namespace std; int main(){ long long x1,x2,y1y,y2y;// cin>>x1>>x2>>y1y>>y2y; long long ans1,ans2,min_ans,max_ans; min_ans=min({x1*y1y,x1*y2y,x2*y1y,x2*y2y}); max_ans=max({x1*y1y,x1*y2y,x2*y1y,x2*y2y}); // cout<<min_ans<<' '<<max_ans<<endl; if(min_ans<-2147483648ll||max_ans>2147483647ll){ cout <<"long long int"; }else cout <<"int"; return 0; } ```
by QWQ_123 @ 2024-02-15 21:24:14


@[QWQ_123](/user/740328) 在改之前是对的,改之后反了awa
by Gohldg @ 2024-02-15 21:26:30


@[Gohldg](/user/757214) az
by QWQ_123 @ 2024-02-15 21:27:29


@[QWQ_123](/user/740328) ```cpp #include <iostream> using namespace std; int main(){ int x1,x2,y1y,y2y;// cin>>x1>>x2>>y1y>>y2y; long long ans1,ans2,min_ans,max_ans; ans1=max(x1*y1y,x1*y2y); ans2=max(x2*y1y,x2*y2y); min_ans=min(ans1,ans2); max_ans=max(ans1,ans2); if(min_ans<-2147483648||max_ans>2147483647){ cout <<"long long int"; }else cout <<"int"; return 0; } ``` 31分了……
by Gohldg @ 2024-02-15 21:27:37


哦哦,懂了,抱歉,打扰了
by Gohldg @ 2024-02-15 21:28:43


@[Gohldg](/user/757214) 我不是给您发代码了吗(
by QWQ_123 @ 2024-02-15 21:28:46


@[Gohldg](/user/757214) 就是 ```cpp min_ans=min({x1*y1y,x1*y2y,x2*y1y,x2*y2y}); max_ans=max({x1*y1y,x1*y2y,x2*y1y,x2*y2y}); ````
by QWQ_123 @ 2024-02-15 21:29:11


az
by QWQ_123 @ 2024-02-15 21:29:26


@[QWQ_123](/user/740328) 过了谢谢
by Gohldg @ 2024-02-15 21:30:16


@[Gohldg](/user/757214) 首先,开long long,然后,最大值最小值搞错了,接着,判断写错了 ```cpp #include <iostream> using namespace std; int main(){ long long x1x,x2x,y1y,y2y; cin>>x1x>>x2x>>y1y>>y2y; long long min_ans=min(x1x*y1y,min(x1x*y2y,min(x2x*y2y,x2x*y1y))); long long max_ans=max(x1x*y1y,max(x1x*y2y,max(x2x*y2y,x2x*y1y))); if(min_ans<-2147483648||max_ans>2147483647){ cout <<"long long int"; }else cout <<"int"; return 0; } ```
by PengDave @ 2024-02-15 21:40:38


| 下一页