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;
}