Submission #19379

#TimeUsernameProblemLanguageResultExecution timeMemory
19379kdh9949Σ (kriii4_P2)C++98
0 / 100
17 ms1084 KiB
#include <cstdio>
#include <algorithm>
using namespace std;
typedef long long ll;

int n;
ll a, b, ansa = 0, ansb = 1, na, nb;
ll mod = 1000000007;

ll pw(ll x, ll k){
    if(k == 0) return 1;
    if(k == 1) return x;
    ll t = pw(x, k / 2); t *= t; t %= mod;
    if(k % 2) return t * x % mod;
    return t;
}

ll modinv(ll x){
    return pw(x, mod - 2);
}

int main(){
    scanf("%d", &n);
    for(int i = 0; i < n; i++){
        scanf("%lld%lld", &a, &b);
        na = b * ansb + a * ansa;
        nb = a * ansb;
        ansa = na / __gcd(na, nb);
        ansb = nb / __gcd(na, nb);
    }
    printf("%lld\n", (ansa * modinv(ansb)) % mod);
}
#Verdict Execution timeMemoryGrader output
Fetching results...