求大佬帮忙看下孱弱代码

P8818 [CSP-S 2022] 策略游戏

@[cairui](/user/329858) 请使用 `long long`,而且这是暴力做法
by bykem @ 2022-10-31 20:27:10


@[wsfxk](/user/376161) long long也是一个点不过(哭笑) 暴力做法是肯定了 不太聪明没想到啥机灵的算法
by cairui @ 2022-10-31 20:34:05


这是我的暴力,60分,可以参考下 ```cpp #include<bits/stdc++.h> using namespace std; #define int long long const int inf=0x3f3f3f3f; const int maxn=1e5+1; int n,m,t; int a[maxn],b[maxn]; int l1,r1,l2,r2; signed main(){ //freopen("game.in","r",stdin); //freopen("game.out","w",stdout); cin>>n>>m>>t; for(int i=1;i<=n;i++){ cin>>a[i]; } for(int i=1;i<=m;i++){ cin>>b[i]; } while(t--){ int f1=0,f2=0,o1=0,o2=0; int z1=0,z2=0; int az1=-inf,iz1=inf,az2=-inf,iz2=inf; int af1=-inf,if1=inf,af2=-inf,if2=inf; cin>>l1>>r1>>l2>>r2; for(int i=l1;i<=r1;i++){ if(a[i]>0){ z1=1; az1=max(az1,a[i]); iz1=min(iz1,a[i]); } if(a[i]==0){ o1=1; } if(a[i]<0){ f1=1; af1=max(af1,a[i]); if1=min(if1,a[i]); } } for(int i=l2;i<=r2;i++){ if(b[i]>0){ z2=1; az2=max(az2,b[i]); iz2=min(iz2,b[i]); } if(b[i]==0){ o2=1; } if(b[i]<0){ f2=1; af2=max(af2,b[i]); if2=min(if2,b[i]); } } if(z1){ if(z2){ if(f1){ if(f2){ if(o1){ if(o2)cout<<0; else cout<<0; }else{ if(o2)cout<<iz1*if2;//////// else cout<<max(iz1*if2,af1*az2); } } else{ if(o1){ if(o2)cout<<0; else cout<<az1*iz2;// }else{ if(o2)cout<<0; else cout<<az1*iz2; } } }else{ if(f2){ if(o1){ if(o2)cout<<0; else cout<<0; }else{ if(o2)cout<<iz1*if2;//////// else cout<<iz1*if2;//////// } } else{ if(o1){ if(o2)cout<<0; else cout<<az1*iz2; }else{ if(o2)cout<<0; else cout<<az1*iz2; } } } }else{ if(f1){ if(f2){ if(o1){ if(o2)cout<<0; else cout<<if1*af2; }else{ if(o2)cout<<0;///////// else cout<<if1*af2;////////// } } else{ if(o1){ if(o2)cout<<0; }else{ if(o2)cout<<0; } } }else{ if(f2){ if(o1){ if(o2)cout<<0; else cout<<0; }else{ if(o2)cout<<iz1*if2;///////// else cout<<iz1*if2;//////// } } else{ if(o1){ if(o2)cout<<0; }else{ if(o2)cout<<0; } } } } }else{ if(z2){ if(f1){ if(f2){ if(o1){ if(o2)cout<<0; else cout<<0; }else{ if(o2)cout<<af1*az2;/////// else cout<<af1*az2;///////// } } else{ if(o1){ if(o2)cout<<0; else cout<<0; }else{ if(o2)cout<<af1*az2;///////// else cout<<af1*az2;//////// } } }else{ if(f2){ if(o1){ if(o2)cout<<0; else cout<<0; } } else{ if(o1){ if(o2)cout<<0; else cout<<0; } } } }else{ if(f1){ if(f2){ if(o1){ if(o2)cout<<0; else cout<<if1*af2; }else{ if(o2)cout<<0; else cout<<if1*af2; } } else{ if(o1){ if(o2)cout<<0; }else{ if(o2)cout<<0; } } }else{ if(f2){ if(o1){ if(o2)cout<<0; else cout<<0; } } else{ if(o1){ if(o2)cout<<0; } } } } } /* if(!f2&&!zeo1&&!zeo2){//1 1 1 cout<<maxz1*minz2; }else if(f2&&!zeo1&&!zeo2){//0 1 1 cout<<minz1*minf2; }else if(!f2&&zeo1&&!zeo2){//1 0 1 cout<<maxz1*minz2; }else if(f2&&zeo1&&!zeo2){//0 0 1 cout<<0; }else if(!f2&&!zeo1&&zeo2){//1 1 0 cout<<0; }else if(f2&&!zeo1&&zeo2){//0 1 0 cout<<minz1*minf2; }else if(f2&&zeo1&&zeo2){//0 0 0 cout<<minz1*minf2; }else if(!f2&&zeo1&&zeo2){//1 0 0 cout<<0; } */ cout<<endl; } } ```
by Bant_Metor @ 2022-10-31 20:51:07


|