社区讨论
爆零求助 是解法的问题吗?
P8818[CSP-S 2022] 策略游戏参与者 3已保存回复 2
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 2 条
- 当前快照
- 1 份
- 快照标识符
- @lo7mzuk8
- 此快照首次捕获于
- 2023/10/27 04:28 2 年前
- 此快照最后确认于
- 2023/10/27 04:28 2 年前
CPP
#include <bits/stdc++.h>
using namespace std;
const int maxn = 100005;
const int maxm = -100005;
int n,m,q,A[maxn],B[maxn];
struct ver{
int biao,num;//下标和数据,方便后面排序
}VA[maxn],VB[maxn];
int l1 = 0, l2 = 0, r1 = 0, r2 = 0, x = maxm, y = maxn;
bool cmpare(const ver &a, const ver &b){
return a.num > b.num;
}
int main(){
//freopen("game.in","r",stdin);
//freopen("game.out","w",stdout);
cin >> n >> m >> q;
for(int i = 1; i <= n; i++){
cin >> A[i];
VA[i].num = A[i];
VA[i].biao = i;
}
for(int i = 1; i <= m; i++){
cin >> B[i];
VB[i].num = B[i];
VB[i].biao = i;
}
sort(VA, VA+n,cmpare);//排序
sort(VB, VB+m,cmpare);
l1 = 0, l2 = 0, r1 = 0, r2 = 0, x = maxm, y = maxn;
for(int i = 1; i <= q; i++){//得出X,y最优解,贪心
cin >> l1 >> r1 >> l2 >> r2;
for(int j = 1; j <= n; j++){
if(VA[j].num > A[x] && VA[j].biao > l1 && VA[j].biao < r1){
x = VA[j].biao;
}
}
for(int j = m; j >= 0; j--){
if(VB[j].num < B[y] && VB[j].biao > l2 && VB[j].biao < r2){
y = VB[j].biao;
}
}
cout << VA[x].num * VB[y].num << endl;
l1 = 0, l2 = 0, r1 = 0, r2 = 0, x = maxm, y = maxn;
}
return 0;
}
回复
共 2 条回复,欢迎继续交流。
正在加载回复...