Tam giác trên hình chữ nhật

Đề bài

Mô tả

Trên mặt phẳng toạ độ có một hình chữ nhật với hai đỉnh đối diện là (0,0)(w,h), các cạnh song song với hai trục toạ độ.

Trên các cạnh của hình chữ nhật có đánh dấu một số điểm nguyên. Mỗi điểm nằm trên đúng một cạnh và không trùng với đỉnh nào của hình chữ nhật. Mỗi cạnh có ít nhất hai điểm được đánh dấu.

Hãy chọn ba điểm đã đánh dấu sao cho:

  • đúng hai trong ba điểm nằm trên cùng một cạnh của hình chữ nhật;
  • diện tích tam giác tạo bởi ba điểm đó là lớn nhất có thể.

In ra hai lần diện tích của tam giác này (diện tích nhân đôi của một tam giác có các đỉnh nguyên luôn là số nguyên).

Dữ liệu vào

Dòng đầu chứa một số nguyên t là số bộ dữ liệu.

Mỗi bộ dữ liệu gồm năm dòng:

  • Dòng thứ nhất chứa hai số nguyên wh.
  • Hai dòng tiếp theo mô tả các điểm trên hai cạnh ngang. Mỗi dòng bắt đầu bằng số nguyên k là số điểm, sau đó là k số nguyên x1<x2<<xk (0<xi<w) là hoành độ các điểm theo thứ tự tăng dần. Tung độ của các điểm ở dòng thứ nhất là 0, ở dòng thứ hai là h.
  • Hai dòng cuối mô tả các điểm trên hai cạnh dọc, theo cùng định dạng: số nguyên k rồi k số nguyên y1<y2<<yk (0<yi<h). Hoành độ của các điểm ở dòng thứ nhất là 0, ở dòng thứ hai là w.

Dữ liệu ra

Với mỗi bộ dữ liệu, in ra một số nguyên là hai lần diện tích lớn nhất của tam giác thoả mãn.

Ràng buộc

  • 1t104
  • 3w,h106
  • 2k2·105 với mỗi cạnh
  • Tổng số điểm trên tất cả các cạnh của tất cả các bộ dữ liệu không vượt quá 2·105

Ví dụ

Input Output Giải thích
3
5 8
2 1 2
3 2 3 4
3 1 4 6
2 4 5
10 7
2 3 9
2 1 7
3 1 3 4
3 4 5 6
11 5
3 1 6 8
3 3 6 8
3 1 3 4
2 2 4
25
42
35
Ở bộ thứ nhất, tam giác lớn nhất tạo bởi (0,1), (0,6)(5,4): hai điểm đầu cùng nằm trên cạnh x=0, đáy dài 5, chiều cao 5, diện tích nhân đôi bằng 25.
1
99 99
2 1 2
2 3 4
2 5 6
2 7 8
99 Mỗi cạnh chỉ có hai điểm cách nhau đúng 1 đơn vị, nên đáy luôn bằng 1 còn chiều cao lớn nhất bằng 99.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.47 awk 1.3.4 gcc 16.2.0 csc 6.12.0.200 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.2 gforth 0.7.3 gfortran 12.2.0 go 1.27.0 groovyc 5.1.1 javac 25.0.4 node 26.8.1 kotlinc 2.4.10 sbcl 2.2.9 lua 5.4.9 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.10 pike 8.0 pypy3 7.3.23 python3 3.14.7 racket 8.7 ruby 4.0.6 rustc 1.98.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.4.0 deno 2.9.6 v 0.5.2 zig 0.16.0