题目传送门
题意
- 一个长宽高:
a,b,h1 的水桶,正面高度破损只能到达
h2,求最大容量
题解
- 输出
a∗b∗(h1+h2)/2
- 直接乘会爆
unsigned
long
long ,可以计算
a∗b∗h1−a∗b∗(h1−h2)/2
- 或者先对
a,b,(h1+h2) 中某一个为偶数的除以二后,再相乘。
- 直接使用
Java 大数即可
AC-Code
import java.math.BigInteger;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
BigInteger a, b, h1, h2;
a = sc.nextBigInteger();
b = sc.nextBigInteger();
h1 = sc.nextBigInteger();
h2 = sc.nextBigInteger();
System.out.println(a.multiply(b).multiply(h1.add(h2)).divide(new BigInteger("2")));
}
}