sunny12888 @ 2024-10-05 17:45:13
#include <bits/stdc++.h>
using namespace std;
const long long MAX=9223372036854775807;
int main(){
int n,m,q;
cin>>n>>m>>q;
long long a[n],b[m];
for(int i=0;i<n;i++)cin>>a[i];
for(int i=0;i<m;i++)cin>>b[i];
int l1[q],l2[q],r1[q],r2[q];
for(int i=0;i<q;i++)
cin>>l1[i]>>r1[i]>>l2[i]>>r2[i];
long long c[n][m];
for(int i=0;i<n;i++)
for(int j=0;j<m;j++)
c[i][j]=a[i]*b[j];
for(int t=0;t<q;t++){
long long tmax[r1[t]-l1[t]+1];
memset(tmax,0,sizeof(tmax));
int s=MAX;
int pp=0;
for(int i=l1[t]-1;i<r1[t];i++){
long long int s=MAX;
for(int j=l2[t]-1;j<r2[t];j++){
s=min(s,c[i][j]);
}
tmax[pp]=s;
pp++;
}
sort(tmax,tmax+r1[t]-l1[t]+1);
cout<<tmax[r1[t]-l1[t]]<<endl;
}
return 0;
}
感谢各位大佬! 试题传送区
各位大佬,因为我等会有事,请将你的建议发过来即可,谢谢!
by sunny12888 @ 2024-10-05 17:56:56
RE变为TLE了
#include <bits/stdc++.h>
using namespace std;
const long long MAX=9223372036854775807;
int main(){
int n,m,q;
cin>>n>>m>>q;
long long a[n],b[m];
for(int i=0;i<n;i++)cin>>a[i];
for(int i=0;i<m;i++)cin>>b[i];
int l1[q],l2[q],r1[q],r2[q];
for(int i=0;i<q;i++)
cin>>l1[i]>>r1[i]>>l2[i]>>r2[i];
//long long c[n][m];
//for(int i=0;i<n;i++)
// for(int j=0;j<m;j++)
// c[i][j]=a[i]*b[j];
for(int t=0;t<q;t++){
long long tmax[r1[t]-l1[t]+1];
memset(tmax,0,sizeof(tmax));
int pp=0;
for(int i=l1[t]-1;i<r1[t];i++){
long long int s=MAX;
for(int j=l2[t]-1;j<r2[t];j++){
s=min(s,a[i]*b[j]);
}
tmax[pp]=s;
pp++;
}
sort(tmax,tmax+r1[t]-l1[t]+1);
cout<<tmax[r1[t]-l1[t]]<<endl;
}
}