Submission #4296

#TimeUsernameProblemLanguageResultExecution timeMemory
4296zorrapowerInherited disease (kriii1_I)C++98
0 / 1
0 ms1088 KiB
#include<stdio.h> void get_N_generationArea(int n,int *start, int *end); int Factorial(int n); int getResult(int n, int *start, int *end); int Array[100]; int n; int main(void){ int start,end; get_N_generationArea(2, &start, &end); scanf("%d", &n); for(int i=0; i<n; i++) scanf("%d", &Array[i]); for(int i=1; i<=n; i++){ printf("%d\n", getResult(i, &start, &end)%1000000007); } return 0; } void get_N_generationArea(int n,int *start, int *end){ *start=0; *end=0; for(int i=1; i<=n; i++){ *end+=Factorial(i); *start=*end-Factorial(i)+1; } } int Factorial(int n){ int result=1; for(int i=1; i<=n; i++) result*=i; return result; } int getResult(int generation, int *start, int *end){ int area; get_N_generationArea(generation, start, end); area=*end-*start+1; for(int i=0; i<generation; i++){ area/=i+1; *start+=area*(Array[i]-1); *end=*start+area-1; } return *start; }
#Verdict Execution timeMemoryGrader output
Fetching results...