社区讨论

爆零求助 是解法的问题吗?

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 条回复,欢迎继续交流。

正在加载回复...