A
#include <ビット/ STDC ++ H> 名前空間STDを使用して、 typedefの長い長いLL。 CONST int型N = 1E5 + 100。 int型のn; LL、和= 0。 メインINT(){ CIN >> N。 一方、(N - ){ 和= 0。 用(INT i = 0; iは3 <; Iは++){ CIN >> A。 合計+ = A; } COUT <<和/ 2LL << ENDL。 } 0を返します。 }
B
なお、最後の必須出力N
#include <ビット/ STDC ++ H> 名前空間STDを使用して、 typedefの長い長いLL。 CONST int型N = 2E5 + 100。 int型Q; N INT、K。 [N] INT。 int型VIS [N]; INTのRES [N]。 INTメイン(){ CIN >> Q。 { - (Q)一方 、CIN >> N >> K memsetの(VIS、0、はsizeof(INT)*(N + 1))。 以下のために(INT i = 0; iがn <; iは++){ CIN >> [I]。 } INTフラグ= 0。 LL合計= 0; int型CNT = 0; 以下のために(INT i = 0; iがn <; iは++){ 合計+ = [I]。 (!フラグ&&和%2 == 1)であれば{ CNT ++。 フラグ= 1。 VIS [I] = 1。 } そうであれば(フラグ&& CNT ++。 VIS [I] = 1。 } } もし(CNT <K){ COUT << "NO \ n"; } 他{ (CNT%2 = K%2!){もし COUT << "NOの\ n"。 } 他{ COUT << "YESの\ n"。 int型のPP = 1; RES [PP] = N。 (I = N-2 int型; I> = 0; I - )は{ IF(VIS [I]){ PP ++。 IF(VIS [N-1])RES [PP] = I + 1。 他のres [PP] = I; } IF(PP == k)をブレーク。 } (i = K int型; I> = 1; I - )のために{ COUT << RES [I] <<(I == 1 "\ n":」「?)。 } } } } 0を返します。
C
各ロボットの移動範囲に応じて、ロボットは全ての範囲を狭くし続け
#include <ビット/ STDC ++ H> 名前空間STDを使用して、 typedefの長い長いLL。 CONST int型N = 1E5 + 100。 int型Q; int型のn; INT X [N]、Y [N]。 INT F [N] [4]。 INTメイン(){ scanf関数( "%のD"、&Q)。 { - (Q)、一方 、scanf関数( "%のD"、&N) INT R = 1E5、L = -1e5、B = 1E5、U = -1e5。 以下のために(INT i = 1; iが<= N; iは++){ scanf関数( "%d個の%のD"、およびX [i]は、&Y [I])。 (INT J = 0; J <4; J ++){ため のscanf( "%dの"、&F [I] [J])。 } IF(F [i]が[0] == 0)L = MAX(L、X [I])。 IF(F [i]が[1] == 0)、B =分(B、Y [I])。 IF(F [I] [2] == 0)、R =分(R、X [I])。 IF(F [i]が[3] == 0)U = MAX(U、Y [I])。 } 場合(L> R || U> B){ COUT << "0 \ n"。 } 他{ COUT << "1" << L << "" << U << ENDL。 } } 0を返します。 }