E平均成绩

链接

//快速幂
是把k展开,看哪一位是1,就乘
//
ans+=s*c%m erro

#include<bits/stdc++.h>
#define inf 0x3f3f3f3f
#define ll long long
using namespace std;
const int N=1e5+100;
const int M=998244353;
ll ans=0;
ll cnt=0;
int qmi(ll a,ll k)
{
    ll res=1;
    while(k)    //把k的二进制展开,看哪一位命中
    {
        if(k&1) res = res%M*a % M;
        k>>=1;
        a=a%M*a%M;    //a*a 代表2^0 -> 2^1 ...
    }
    return res;
}
int main()
{
    ios::sync_with_stdio(0);
    cin.tie(0),cout.tie(0);

    int n;
    cin>>n;
 
    for(int i=1;i<=n;i++)
    {
        int s,c;
        cin>>s>>c;
        ans+=s*c;//ans+=s*c%M; erro
        ans%=M;
        cnt+=c;
    }
    ans=(ans%M)*(qmi(cnt,M-2)%M)%M;
    cout<<ans<<endl;
}

posted @ 2021-07-30 10:52  DuJunlong  阅读(18)  评论(0)    收藏  举报  来源