Submission #573330

#TimeUsernameProblemLanguageResultExecution timeMemory
573330vladislav11Calvinball championship (CEOI15_teams)C++14
0 / 100
37 ms65536 KiB
#include <bits/stdc++.h> using namespace std; using ll = long long; const ll MOD = 1e6 + 7; int n; vector<int> a; const int N = 1e4 + 100; ll dp[N][N]; int main () { ios_base::sync_with_stdio(0); cin.tie(0); cin >> n; a.resize( n ); for ( auto& el : a ) cin >> el; for ( int i=0; i<N; i++ ) for ( int j=0; j<N; j++ ) dp[i][j] = 0; for ( int i=1; i<=n; i++ ) dp[0][i] = 1; for ( int i=1; i<=n; i++ ) for ( int j=1; j<=n; j++ ) dp[i][j] = ( j*dp[i-1][j] + ( j<n ? dp[i-1][j+1] : 0 ) ) % MOD; ll ans = 1; int maxi = 0; for ( int i=0; i<n; i++ ) { for ( int j=1; j < a[i]; j++ ) ans = ( ans + dp[n-1-i][ max( maxi, j ) ] ) % MOD; maxi = max( maxi, a[i] ); } cout << ans; return 0; }
#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...