"문제 해결": 국가 X의 군대

질문 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); 
    } 
}
코드보기

추천

출처www.cnblogs.com/xingmi-weiyouni/p/11616271.html