Submission #4336

# Submission time Handle Problem Language Result Execution time Memory
4336 2013-09-17T07:48:01 Z zorrapower Inherited disease (kriii1_I) C++
1 / 1
0 ms 1088 KB
#include<stdio.h>
#define MOD 1000000007
long long getRightValue(long long *beforeRightValue, long long depth);
long long Factorial(long long n);


int main(void){
	long long leftNodeCount[100];
	long long rightValue[100];
	long long input[100];
	long long result[100];
	long long depth;

	scanf("%lld", &depth);
	for(int i=0; i<depth; i++){
		scanf("%lld", &input[i]);
	}
	leftNodeCount[0]=0;
	rightValue[0]=0;

	for(int i=1; i<=depth; i++){
		rightValue[i]=getRightValue(&rightValue[i-1], i)%MOD;
		leftNodeCount[i]=(leftNodeCount[i-1]*i+(input[i-1]-1))%MOD;
		result[i-1]=(leftNodeCount[i]+rightValue[i-1]+1)%MOD;
	}


	for(long long i=0; i<depth; i++){
		printf("%d\n",result[i]);
	}
	return 0;
}

long long Factorial(long long n){
	long long result=1;
	for(long long i=1; i<=n; i++)
		result=(result*i)%MOD;
	return result;
}

long long getRightValue(long long *beforeRightValue, long long depth){
	return *beforeRightValue+Factorial(depth)%MOD;
}
# Verdict Execution time Memory Grader output
1 Correct 0 ms 1088 KB Output is correct
2 Correct 0 ms 1088 KB Output is correct
3 Correct 0 ms 1088 KB Output is correct
4 Correct 0 ms 1088 KB Output is correct
5 Correct 0 ms 1088 KB Output is correct
6 Correct 0 ms 1088 KB Output is correct
7 Correct 0 ms 1088 KB Output is correct
8 Correct 0 ms 1088 KB Output is correct
9 Correct 0 ms 1088 KB Output is correct
10 Correct 0 ms 1088 KB Output is correct
11 Correct 0 ms 1088 KB Output is correct
12 Correct 0 ms 1088 KB Output is correct
13 Correct 0 ms 1088 KB Output is correct
14 Correct 0 ms 1088 KB Output is correct
15 Correct 0 ms 1088 KB Output is correct
16 Correct 0 ms 1088 KB Output is correct
17 Correct 0 ms 1088 KB Output is correct
18 Correct 0 ms 1088 KB Output is correct
19 Correct 0 ms 1088 KB Output is correct
20 Correct 0 ms 1088 KB Output is correct