아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

배열과 가희

시간 제한2초메모리 제한512 MB

요약
배열의 값을 갱신한 뒤 두 값의 최대공약수가 1보다 큰 쌍의 개수를 구합니다.
난이도

보통10점 중 6점

유형
해시맵, 정수론, 수학, 조합론
정답자
아직 제출이 없습니다

문제

길이가 N인 배열 S가 주어진다. 다음 쿼리를 수행하는 프로그램을 작성하라.

  • u num : Su를 num으로 바꾼다. 그리고 GCD(Si, Sj) > 1이면서 i < j인 쌍의 개수를 출력한다. 단, GCD(a, b)는 a와 b의 최대공약수를 나타낸다.

입력

첫째 줄에 배열의 길이 N(1 ≤ N ≤ 2 x 105)과 쿼리의 개수 Q(1 ≤ Q ≤ 2 x 105)가 공백으로 구분되어 주어진다.

둘째 줄에 배열의 i(i = 0, 1, 2, ..., N-1)번째 원소를 나타내는 정수 Si(1 ≤ Si ≤ 106)가 공백으로 구분되어 주어진다.

셋째 줄부터 Q개의 각 줄에는 쿼리를 의미하는 정수 u(0 ≤ u ≤ N-1), num(1 ≤ num ≤ 106)이 공백으로 구분되어 주어진다.

출력

Q개의 각 줄에 쿼리의 정답을 순서대로 한 줄에 하나씩 출력한다.

예제1

  1. 예제 1

    입력
    4 1
    2 2 2 3
    0 3
    
    예상 출력
    2