TEST3 초 당 기한
test256 메가 바이트 당 메모리 제한
표준 입력 : 입력
출력 : 표준 출력
있다 n은 양의 정수는, A2가 A1, ...,. 하나 개의 이동을 위해 두 개의 모든 요소가 동일 C에 의한 경우에도 값 c와 격차를 선택할 수 있습니다.
A =는 [6,8,12,6,3,12] 및 C = 6을 선택한 경우, 예를 들어, 이동 후의 = 3,8,12,3,3,12]로 변환된다.
사용자는 홀수 정수 (각 요소는 2의 배수이어야한다)의 배열에 변형을위한 움직임의 최소 수를 찾을 필요가있다.
입력
은 입력에서 테스트 케이스의 수 - 입력의 첫 번째 라인은 하나의 정수 t (1≤t≤104)을 포함한다. 그런 다음 t 테스트 케이스은 다음과 같습니다.
시퀀스 A의 정수 개수 - 테스트 케이스의 첫 번째 라인은 N (1≤n≤2⋅105)을 포함한다. 두번째 라인은 양의 정수의 A1, A2를 포함 ..., 입력의 모든 테스트 케이스에 대한 N의 (1≤ai≤109) 국지적 2⋅105 합을 초과하지 않는다.
출력
t 테스트 케이스의 경우는 입력에서 테스트 케이스의 순서로 답을 인쇄 할 수 있습니다. 테스트 케이스에 대한 대답은 (즉, 나눌 수없는 경우 2) 홀수 테스트 케이스의 모든 숫자를 만드는 데 필요한 움직임의 최소 숫자입니다.
예
입력
4
6
40 6 40 20 3 1
1
1024
4
2 4 8 16
3
3 1 7
출력
4
10
4
0
문제의 의미
어레이의 모든 홀수 될 때까지의 숫자 t 기, 각 수 (n)는 각각의 어레이 동작은 동일한 상태 (2)에 의해 분할 될 수
분류의 배열 짝수 변경 프로세스만큼 상하 어느 자리 숫자의 루프 전류가 현재 사이클의 마지막에 표시하고있다이라면 잘 횟수의 합계를 기록 이외에있다. 너무 큰에서 숫자는, int 배열을 정의처럼 사용지도 그래서 (그러나 같은 간단한 주제 emmm하지 누군가를 블로그한다)하지 않는
이 방법은 형제를 생각 나게의 CC 이전했기 때문에이 문제에 대한 기록입니다 질문, 우리는 로컬 답에 도달하는 5 분 실행하려면,하지만 때문에이 방법의 사용의 빠른 교류 할 것이다. 그 질문은 인상을해야하는 대신,이 문제에서 사용을 찾을 수 없습니다 -
또는 코드의 한 쌍의 스틱 :
#INCLUDE <비트 / stdc ++. H> 네임 스페이스를 사용하여 표준; 긴 LL 긴 형식 정의를; INT t, N; LL 시간; INT CMP (INT A, INT b) { A> B를 리턴; } () {int로 메인 CIN >> t; (t -) 동안 { CIN >> N; 시간 = 0; 위한 (INT 난 = 1; I <= N; I ++) { CIN >> A [I]; } 정렬 (A + 1, A + N + 1, CMP); <INT, INT> MP 매핑; 위한 (INT 난 = 1; I <= N; I ++) { 경우 (a [i]를 2 % == 1) { 계속하다; }그밖에{ 동안 (a [i]를 2 % == 0 && MP [A [I]] == 0) { mp [a [i] = 1; A [I] / 2 =; 배 ++; } } } COUT << 회 << ENDL; } 0을 반환; }
----------------
CSDN 링크 : HTTPS : //blog.csdn.net/weixin_43880627/article/details/103622672