질문 A : 군사 나라 X
제한 시간 : 1 초 메모리 제한 : 2백56메가바이트
얼굴 질문
그는 공개적으로 질문을 직면하지 않았다.
문제 해결
간단한 탐욕.
생존 병사의 수에 따라 (즉, 전투 빼기 작전 중 사망 군인의 수에 관여하는 군인의 수) 종류.
전투에 참여 군인의 수에 따라 같은 종류의 군인 생존의 수를합니다.
주문 다시 통계 대답을 쓸어.
#INCLUDE <. 비트 / stdc ++ H는> #DEFINE가 긴 긴 int로 #DEFINE RINT 레지스터 지능 #DEFINE (A) A = 초기화 () 판독 하여 스페이스 성병; 인라인 INT의 초기화 () { INT A = 0 , B = 1 ; 숯 CH = getchar가 (); 동안 (CH2 < ' 0 ' || CH> ' 9 ' ) { 경우 (CH == ' - ' ) (B) = - 1 , CH = getchar가 ();} 동안 (CH2> = ' 0 '&& CH <=에서 ' 9 ' ) {A = (a << 3 ) + (A << 1 ) + CH- ' 0 ' , CH = getchar가 ();} 리턴 는 * B; } INT의 T, N, ANS; 구조체 노드 { INT의 DS, NS, CS} P는 [ 1000005 ]; 인라인 부울 CMP (노드 A, 노드 B) { 창 (A.cs == B.cs) A.ns <B.ns : A.cs < B.cs; } main ()에 서명 { // freopen을 ( "data.in", "R", 표준 입력) // freopen을 ( "std.out", "w", 표준 출력); (T)를 읽어; ) { ) N (판독, ANS = 0 ; 위한 (RINT I = 1 , 산업, 인, 난 = <N; ++ I) { 판독 (IND)을 (INN) 판독; P [I]를 .DS = IND, P는 [I] = .NS 인; P [I] .cs = inn- IND; } 정렬 (p + 1 , N + P + 1 , CMP) ANS = P [ 1 ] .NS; 위한 (RINT 난 = 2 ; 나는 <= N; ++ I) = 최대 ANS (ANS + P [I] .DS, P [I] .NS); 의 printf ( " % LLD \ 없음 " , ANS); } }