Submission

Status:

[PPPP][PPPP][PPPP][PPPP][PPPP][PPPP][PPPP][PPPP]

Subtask/Task Score:

{13/13}{13/13}{13/13}{13/13}{13/13}{13/13}{13/13}{13/13}

Score: 100

User: dddrrrr

Problemset: ขนมปัง

Language: cpp

Time: 0.002 second

Submitted On: 2025-10-16 22:18:57

#include <bits/stdc++.h>
using namespace std;

int main(){
	cin.tie(0)->sync_with_stdio(0);
	cout.tie(0)->sync_with_stdio(0);
	
	int w ,h ,m ,n;
	cin >> w >> h >> m >> n;
	
	vector <int> tang(m+2) ,non(n+2);
	tang[0] = 0;
	non[0] = 0;
	for(int i=1 ;i<=m ;i++)cin >> tang[i];
	for(int i=1 ;i<=n ;i++)cin >> non[i];
	
	tang[m+1] = w;
	non[n+1] = h;
	sort(tang.begin() ,tang.end());
	sort(non.begin() ,non.end());
	
//	for(auto i : tang)cout << i << ' ';
//	cout << "\n";
//	for(auto i : non)cout << i << ' ';
//	cout << "\n";
	
	vector <int> xdiff ,ydiff;
	
	for(int i=1 ;i<=m+1 ;i++){
		xdiff.emplace_back(tang[i] - tang[i-1]);
	}	
	for(int i=1 ;i<=n+1 ;i++){
		ydiff.emplace_back(non[i] - non[i-1]);
	}
	
	sort(xdiff.begin() ,xdiff.end() ,greater<int>());
	sort(ydiff.begin() ,ydiff.end() ,greater<int>());
	
//	for(auto i : xdiff)cout << i << ' ';
//	cout << "\n";
//	for(auto i : ydiff)cout << i << ' ';
//	
	int len1 = min(m+1 ,2);
	int len2 = min(n+1 ,2);

	vector <int> ans;
	for(int i=0 ;i<len1 ;i++){
		for(int j=0 ;j<len2 ;j++){
			long long val = xdiff[i]*ydiff[j];
			ans.emplace_back(val);
		}
	}
	
	sort(ans.begin() ,ans.end() ,greater<int>());
	for(int i=0 ;i<2 ;i++){
		cout << ans[i] << ' ';
	}
	
	return 0; 
}