問題の意味
https://vjudge.net/problem/CodeForces-1250L
そこの人々の3種類あり、a、b、c、今三つのグループにこれらの人々を入れて、で、グループ化したものですが、どのくらいを尋ねた後、Cクラスは、同じグループ、三つのグループの最小数の最大にすることはできません。
思考
そしてcから始めて、そしてcは、それは確かにAで、Bにパート2、より多くのポイントの数cは、グループとしてではなく、どのように多くのポイントでしょうか?Cはクラス、クラス、最初のグループに全体のそのクラスよりも小さい場合、クラスC、クラスC、Bの第三のセットにした後当たり人々の三つのクラスに残りの部分に割り当てられたグループの後半プラグ・グループの最小セットの数なので、我々は最大のグループの最小数を保証することができます。
コード
#include <ビット/ STDC ++ H> 名前空間STDを使用して、 #define INF 0x3f3f3f3f の#define LL長い長 のconst int型N = 200005。 const int型MOD = 1E9 + 7。 constのダブルEPS = 1E-8; constのダブルPI = ACOS(-1.0); #define lowbit(X)(X&( - X)) INTのmain() { のstd :: IOS :: sync_with_stdio(偽)。 int型T; cinを>>トン。 (t--)一方 { int型A、B、C。 CIN >> B >> C。 IF(> C) スワップ(C); INT G [3]。 G [0] = C / 2、G [1] = CC / 2、G [2] =。 int型ANS = infファイル。 一方、(B) { ソート(G、G + 3)。 G [0] ++; b--; } COUT << MAX(G [0]、MAX(G [1]、G [2]))<< ENDL。 } 0を返します。 }