Submission #4201

#TimeUsernameProblemLanguageResultExecution timeMemory
4201HiddenInherited disease (kriii1_I)C++98
0 / 1
0 ms1088 KiB
#include <stdio.h>

int main() {
	int c, p[100], tmp=1;
	long long num=0;
	int mod = 1000000007;
	scanf("%d", &c);
	for(int i=0;i<c;i++) {
		scanf("%d", &p[i]);
	}

	for(int i=0;i<c;i++) {
		if(i>0) {
			num=(num+p[i]+((i+1)*(mod+p[i-1]-1))+(tmp+mod-p[i-1]))%mod;
			p[i]=(p[i]+(p[i-1]-1)*(i+1))%mod;
			tmp=(tmp*(i+1))%mod;
		}
		else
			num=(num+p[i])%mod;
		printf("%lld\n", num%mod);
	}
}
#Verdict Execution timeMemoryGrader output
Fetching results...