Logo
(追記) (追記ここまで)

10916번 - Xtreme gcd sum

시간 제한메모리 제한제출정답맞힌 사람정답 비율
4 초 256 MB414625120.732%

문제

간단한 문제입니다. 정수 상수인 a1, b1, ..., an, bn의 값이 주어질 때 아래 소스코드를 실행하면 sum변수에 최종적으로 어떤 값이 저장되는지 구해주세요.

very big int sum = 0; 
for ( int x1 = a1 ; x1 <= b1 ; x1++ ) 
  for ( int x2 = a2 ; x2 <= b2 ; x2++ ) 
    .... 
      for ( int xn = an ; xn <= bn ; xn++ ) 
        sum = sum + gcd(x1, x2, ..., xn);

너무 간단한가요? 저도 그렇게 생각해요. (웃음)

여기서 gcd함수는 x1, x2, ..., xn의 최대공약수를 구하는 함수입니다.

입력

첫 번째 줄에는 자연수 n이 주어진다.

이후 n개의 줄의 i번째 줄에는 ai, bi(1 ≤ ai ≤ bi ≤ 1,000,000)가 공백으로 구분되어 주어진다.

1 ≤ n ≤ 10,000인 입력이 주어진다.

출력

C/C++에서는 very big int형 같은 좋은 변수형이 없으므로 sum의 값을 1,000,000,007로 나눈 나머지를 출력한다.

제한

예제 입력 1

3
1 7
1 5
1 3

예제 출력 1

115

힌트

출처

Contest > kriiicon > 제2회 kriiICPC X번

(追記) (追記ここまで)

출처

대학교 대회

  • 사업자 등록 번호: 541-88-00682
  • 대표자명: 최백준
  • 주소: 서울시 서초구 서초대로74길 29 서초파라곤 412호
  • 전화번호: 02-521-0487 (이메일로 연락 주세요)
  • 이메일: contacts@startlink.io
  • 통신판매신고번호: 제 2017-서울서초-2193 호

AltStyle によって変換されたページ (->オリジナル) /