그들 홀수 확인

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

추천

출처www.cnblogs.com/jjmmboom/p/12075393.html