답안 #4333

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
4333 2013-09-17T07:41:54 Z zorrapower Inherited disease (kriii1_I) C++
0 / 1
200 ms 1088 KB
#include<stdio.h>
#define MOD 1000000007
int getRightValue(int *beforeRightValue, int depth);
int Factorial(int n);


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

	scanf("%d", &depth);
	for(int i=0; i<depth; i++){
		scanf("%d", &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(int i=0; i<depth; i++){
		printf("%d\n",result[i]);
	}
	while(true);
	return 0;
}

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

int getRightValue(int *beforeRightValue, int depth){
	return *beforeRightValue+Factorial(depth)%MOD;
}
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 200 ms 1088 KB Program timed out
2 Halted 0 ms 0 KB -