#include #include #include #include #include #include #include #include #include using namespace std; int main(){ int N; cin >> N; vector w(N); for(int i=0; i> w[i]; sort(w.begin(), w.end()); int M; cin >> M; vector b(M); for(int i=0; i> b[i]; sort(b.begin(), b.end()); vector > dp(20+2, vector(2, -1)); //dp[i][j] := 一番上のブロックの長さがiでj==0のときそれが白、j==1のとき黒 dp[21][0] = dp[21][1] = 0; for(int l=21; l>0; l--){ for(int i=0; i