제출 #20093

#제출 시각아이디문제언어결과실행 시간메모리
20093jihoon능력 (kriii4_S)C++98
0 / 100
0 ms1160 KiB
#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 timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...