SRM503 Div1 Easy - ToastXToast

問題

パンが数種類あり、各パンが固有の値Xを持ち、焼き時間がX未満のものをundertoasted、X超過のものをovertoastedと呼ぶ
underのパンとoverのパンがいくつかあり、それらの焼き時間のリストが与えられる
このリストに含まれるパンの種類数の最小値を求める

解法

underの右/左端がoverの右/左端より右にあったら解なし -1
underの区間がoverの区間より完全に左にあったら1
区間が被ってたら2
この3通りに分けられる

class ToastXToast {
	public:
	int bake (vector<int> a, vector<int> b) {
		int n = a.size(), m = b.size();
		sort(all(a)), sort(all(b));
		if (b[0]<=a[0] || b[m-1]<=a[n-1]) return -1;
		return 1 + (b[0]<=a[n-1]);
	}
};