#include <cstdio>
#define m 1000000007
int d;
long long a[101],s[101],t=1,re[101];
int main(void){
//freopen("input.txt","r",stdin);
scanf("%d",&d);
for(int i=0; i<d; i++)
scanf("%lld",&a[i]);
for(int i=0; i<d; i++){
if(i)
t*=(i+1);
t%=m;
s[i]+=s[i-1]+t;
s[i]%=m;
re[i]=s[i-1]+a[i];
if(i>1)
re[i]+=(re[i-1]-s[i-2]-1)*(i+1);
re[i]%=m;
printf("%lld\n",re[i]);
}
return 0;
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
0 ms |
1088 KB |
Output is correct |
2 |
Incorrect |
0 ms |
1088 KB |
Output isn't correct |
3 |
Halted |
0 ms |
0 KB |
- |