Submission #19611

#TimeUsernameProblemLanguageResultExecution timeMemory
19611chan492811Σ (kriii4_P2)C++98
0 / 100
0 ms1084 KiB
#include <cstdio>
#define mod 1000000007
#define ll long long
ll n;
ll table[50];
void make_table(ll a){
    int i;
    table[0]=a%mod;
    for(i=1;i<32;i++) table[i]=(table[i-1]*table[i-1])%mod;
}
ll pow(ll a,ll s){
    ll i,now=1,res=1;
    make_table(a);
    for(i=0;s;i++){
        if(s&now) res*=table[i],res%=mod,s-=now; now*=2;
    }
    return res;
}
int main(){
    int i;
    ll a,s,res=0;
    scanf("%lld",&n);
    for(i=0;i<n;i++){
        scanf("%lld %lld",&s,&a);
        res+=(pow(s,mod-2)*a)%mod; res%=mod;
    }
    res*=(pow(n,mod-2))%mod; res%=mod;
    printf("%lld",res);
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...