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: code
Problemset: ขนมปัง
Language: cpp
Time: 0.002 second
Submitted On: 2026-01-24 18:06:16
#include <bits/stdc++.h>
using namespace std;
int main (){
int W,H,M,N,mmax=0,mmax2=-1,nmax=-1,nmax2=-1,rmbx,rmby;cin>>W>>H>>M>>N;
int plotx[M+1]={0},ploty[N+1]={0};
vector <int> disx(M+1,0);
vector <int> disy(N+1,0);
for (int i=1;i<=M;i++){
cin>>plotx[i];
}
for (int i=1;i<=N;i++){
cin>>ploty[i];
}
for (int i=1;i<M+1;i++){
disx[i]=plotx[i]-plotx[i-1];
//cout<<disx[i]<<" ";
}
disx.push_back(W-plotx[M]);
for (int i=1;i<N+1;i++){
disy[i]=ploty[i]-ploty[i-1];
//cout<<" i="<<i<<"i dis[i]="<<disy[i]<<" "<<endl;
}
disy.push_back(H-ploty[N]);
for (int i=0;i<disx.size();i++){
if (disx[i]>mmax){
mmax=disx[i];
rmbx=i;
}
}
//cout<<"mmax= "<<mmax;
disx.erase(disx.begin()+rmbx);
for (int i=0;i<disx.size();i++){
if(disx[i]>mmax2){
mmax2=disx[i];
}
}
for (int i=0;i<disy.size();i++){
if (disy[i]>nmax){
nmax=disy[i];
rmby=i;
}
}
//cout<<nmax;
disy.erase(disy.begin()+rmby);
for (int i=0;i<disy.size();i++){
if(disy[i]>nmax2){
nmax2=disy[i];
}
//cout<<nmax2<<" ";
}
cout<<mmax*nmax<<" ";
if (mmax2*nmax>nmax2*mmax){
cout<<mmax2*nmax;
}else{
cout<<nmax2*mmax;
}
return 0;
}