LightOJ

来源:互联网 发布:图书管理数据库系统 编辑:程序博客网 时间:2024/06/06 16:57
#include<cstdio>#include<cstring>using namespace std;/*快速幂有k层,每层加n个数,总的累加次数为n^k每次累加,从n个数中选取k个数k/n对答案贡献为n^k*(k/n)=(n^(k-1))*k(sum(a[i])*(n^(k-1))*k)%mod*/typedef long long ll;int n,mod;ll k,a;//快速幂ll mod_pow(ll x,ll n,ll mod){    ll res=1;    while(n>0)    {        if(n&1) res=res*x%mod;        x=x*x%mod;        n>>=1;    }    return res;}int main(){    int T;    scanf("%d",&T);    int kase=0;    while(T--)    {        scanf("%d%lld%d",&n,&k,&mod);        ll ans=0;        for(int i=0;i<n;i++)        {            scanf("%lld",&a);            ans=(ans+a)%mod;        }        ans=(ans*(mod_pow(n,k-1,mod)*k)%mod)%mod;        printf("Case %d: %lld\n",++kase,ans);    }    return 0;}
原创粉丝点击