全問不正解だったのできちんと解き直します!!
問題1は こちら
↓自分の以前の回答

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int result = 0;
		// 整数の入力
		int n = sc.nextInt();
		int k = sc.nextInt();
		for (int i = 0; i < n; i++) {
			int a = sc.nextInt();
			if (a > k) {
				result = result + a - k;
			}
		}
		System.out.println(result);
	}
}

特に何も気にしていなかった「オーバーフローに注意してください」
→これresultがintだったのがダメだったのですね。resultをlong型にしたら通りました!いえい。

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		long result = 0; // ここがオーバーフローしてた
		// 整数の入力
		int n = sc.nextInt();
		int k = sc.nextInt();
		for (int i = 0; i < n; i++) {
			int a = sc.nextInt();
			if (a > k) {
				result = result + a - k;
			}
		}
		System.out.println(result);
	}
}

次に第二問です。
問題は こちら

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int result = 0;
		// 整数の入力
		int n = sc.nextInt();
		int m = sc.nextInt();
		int a = sc.nextInt();
		int b = sc.nextInt();
		int c = sc.nextInt();
		if (a == 0 && b == 0 && c == 0 && m == 0) {
			System.out.println(n + " 0 0");
			return;
		}
		for (int aNum = 0; aNum < n + 1; aNum++) {
			int x = (m - b * n - (a - b) * aNum);
			int y = c - b;
			int cNum = x / y;
			int bNum = n - aNum - cNum;
			if (a * aNum + b * bNum + c * cNum == m && aNum >= 0 && bNum >= 0 && cNum >= 0) {
				System.out.println(aNum + " " + bNum + " " + cNum);
				return;
			}
		}
		System.out.println("-1 -1 -1");
	}
}

Mの変数が10^12までOKなので、Mをint→longにします。
また、脚の本数を数えるときにintの演算とlong型のmを比較しているので、軒並みa,b,cもlong型に変換してみます。
また、resultという謎変数が残っていたので消しておきます。

最初の分岐を3つとも同じ脚の本数だった場合を追加しました。
そして、2匹の脚が同じ本数だった場合を考慮できていなかったので、その考慮を追加しました。

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		// 整数の入力
		long n = sc.nextInt();
		long m = sc.nextLong();
		long a = sc.nextInt();
		long b = sc.nextInt();
		long c = sc.nextInt();
		if (a == b && a == c) {
			// 3匹の足の本数が同じ場合
			if (a * n == m) {
				System.out.println(n + " 0 0");
				return;
			}
			System.out.println("-1 -1 -1");
			return;
		}
		if (a == b || b == c || c == a) {
			long aNum = 0;
			long bNum = 0;
			long cNum = 0;
			if (a == b) {
				long x = m - b * n;
				long y = c - b;
				cNum = x / y;
				bNum = n - cNum;
			}
			if (b == c) {
				long x = m - c * n;
				long y = a - c;
				aNum = x / y;
				cNum = n - aNum;
			}
			if (c == a) {
				long x = m - a * n;
				long y = b - a;
				bNum = x / y;
				aNum = n - bNum;
			}
			if (a * aNum + b * bNum + c * cNum == m && aNum >= 0 && bNum >= 0 && cNum >= 0) {
				System.out.println(aNum + " " + bNum + " " + cNum);
				return;
			}
			System.out.println("-1 -1 -1");
			return;
		}
		for (long aNum = 0; aNum < n + 1; aNum++) {
			long x = (m - b * n - (a - b) * aNum);
			long y = c - b;
			long cNum = x / y;
			long bNum = n - aNum - cNum;
			if (a * aNum + b * bNum + c * cNum == m && aNum >= 0 && bNum >= 0 && cNum >= 0) {
				System.out.println(aNum + " " + bNum + " " + cNum);
				return;
			}
		}
		System.out.println("-1 -1 -1");
	}
}

ゴミみたいなコードができてしまいました本当に申し訳ありません。
まあとりあえず動くようになったので許してください。

第三問と第四問についても後日また解き直したいと思います!