이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include<cstdio>
#define je 1000000007
long long gop(long long x,long long y){
x%=je;y%=je;
x*=y;x%=je;
return x;
}
long long hap(long long x,long long y){
x%=je;y%=je;
x+=y;x%=je;
return x;
}
long long div(long long x,long long y){
x%=je;y%=je;
int left=je-2;
long long gopp=y,ret=1;
while(left){
if(left&1){
ret=gop(ret,gopp);
}
gopp=gop(gopp,gopp);
left >>= 1;
}
ret=gop(ret,x);
return ret;
}
int n;
long long abil[5001][2];
long long can,sum=0,ans=0;
int main(){
scanf("%d",&n);
for(int i=0;i<n;i++){
scanf("%d %d",&abil[i][0],&abil[i][1]);
sum=hap(sum,abil[i][0]);
}
can=1;
for(int i=0;i<n;i++){
can=gop(can,1000000000-abil[i][0]);
can=div(can,1000000000);
}
can=(je+1-can)%je;
for(int i=0;i<n;i++){
ans=hap(ans,gop(can,gop(abil[i][1],div(abil[i][0],sum))));
}
printf("%lld\n",ans);
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |