SRM503 Div1 Easy(250), Div2 Medium(500) ToastXToast
焼きすぎのパンの時間が焼き足りないパンの最短時間より短かったり、焼き足りないパンの時間が焼きすぎのパンの最長時間より長い場合は条件を満たすことができない。
そうでない場合は多くとも2種類のパンがあれば良い。例えば、under={1,3,5,7,9},over={2,4,6,8,10}ならば、X=1.5のパンが{1,2,4,6,8}、X=9.5のパンが{3,5,7,9,10}。
#include <vector> #include <algorithm> using namespace std; class ToastXToast{public: int bake( vector <int> undertoasted, vector <int> overtoasted ) { sort(undertoasted.begin(),undertoasted.end()); sort(overtoasted.begin(),overtoasted.end()); if ( undertoasted.front() < overtoasted.front() && undertoasted.back() < overtoasted.back() ) if ( undertoasted.back() < overtoasted.front() ) return 1; else return 2; else return -1; }};