Submission #587952

#TimeUsernameProblemLanguageResultExecution timeMemory
587952BlagojceCalvinball championship (CEOI15_teams)C++11
20 / 100
1093 ms596 KiB
#include <bits/stdc++.h>
#define fr(i, n, m) for(int i = (n); i < (m); i ++)
#define st first
#define nd second
#define pq priority_queue
#define all(x) begin(x), end(x)

using namespace std;
typedef long long ll;
typedef pair<int,int> pii;

const int mxn = 2e5 + 5;
const ll  mod = 1e9 + 7;

int a[mxn];
int n;
	
	
ll C(int N, int K){
	if(N == 0) return 1;
	return C(N-1, K+1) + C(N-1, K)*K;
}
	
int main(){
	cin >> n;
	fr(i, 0, n){
		cin >> a[i];
	}
	
	int nxt = 2;
	ll ans = 1;
	fr(i, 0, n){
		
		int rem = n-i;
	
		ans += (a[i]-1) * C(rem-1, nxt-1);
		if(a[i] == nxt){
			nxt++;
		}
	}
	cout<<ans<<endl;
	
	
	
}



#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...