Submission #3509

#TimeUsernameProblemLanguageResultExecution timeMemory
3509wookayinInherited disease (kriii1_I)C++98
1 / 1
0 ms1672 KiB
#pragma warning(disable:4996)

#include <algorithm>

#include <functional>
#include <cstdio>
#include <iostream>
#include <vector>

using namespace std;

long long P;
int n;
vector<int> a;

long long MOD = 1000000007;

int main() {
	int n;
	cin >> n;

	long long now = 0;

	long long left_count = 0;

	long long leftmost = 0;
	long long rightmost = 0; // 이 세대의 rightmost 번호
	long long count = 1;	// 이 세대의 count, sum

	for(int round = 1; round <= n; ++ round) {

		int x; cin >> x;// x번째
		
		now = rightmost + (left_count * round) + x;
		now %= MOD;
		left_count = left_count * round + (x - 1);
		left_count %= MOD;
		cout << now << endl;

		leftmost = rightmost + 1;
		leftmost %= MOD;
		count = count * (round) % MOD;
		rightmost += count;
		rightmost %= MOD;
	}

	return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...