카테고리 없음

[백준 JAVA]13172 시그마 Σ

Lahezy 2022. 10. 7.
728x90

 

[문제링크] Σ 13172 백준 자바 

https://www.acmicpc.net/problem/13172

 

13172번: Σ

모듈러가 11에서 1,000,000,007이 되어 답이 달라졌지만, 역시 3을 곱한 다음 1,000,000,007으로 나눈 나머지는 7이 된다.

www.acmicpc.net

 

[코드]

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class Main {
    private static final long mod =1000000007;

    private static long solution(long n, long cnt){
        if(cnt ==1 )return n%mod;
        if(cnt%2==1){
            long temp = solution(n,(cnt-1)/2)%mod;
            return temp*temp%mod*(n%mod);
        }
        else {
            long temp = solution(n,cnt/2)%mod;
            return temp*temp%mod;
        }
    }

    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st;
        StringBuilder sb = new StringBuilder();
        
        int line =  Integer.parseInt(br.readLine());
        long ans = 0;

        for(int i=0;i<line;i++){
            st = new StringTokenizer(br.readLine());
            long ni = Long.parseLong(st.nextToken());
            long si = Long.parseLong(st.nextToken());

            long x = solution(ni,mod-2);
            ans+=x*si%mod;
            ans%=mod;

        }

        System.out.println(ans);

    }
}
728x90

댓글