제출 #856531

#제출 시각아이디문제언어결과실행 시간메모리
856531aymanrsCalvinball championship (CEOI15_teams)C++14
100 / 100
147 ms632 KiB
#include<bits/stdc++.h> #pragma GCC optimize("O3,unroll-loops") #pragma GCC target("avx,avx2,bmi,bmi2,popcnt,lzcnt") using namespace std; const int M = 1e6+7; void solve(){ int n; cin >> n; int a[n], b[n]; for(int i = 0;i < n;i++) { cin >> a[i]; a[i]--; if(i) b[i]=max(b[i-1], a[i]); else b[0]=a[0]; } long long dp[n]; fill(dp,dp+n, 1); long long ans = 1; for(int i = n-1;i;i--){ ans += a[i]*dp[b[i-1]]; ans%=M; for(int j = 0;j < n-1;j++){ dp[j] = ((j+1)*dp[j] + dp[j+1])%M; } dp[n-1]=0; } cout << ans << '\n'; } int main(){ ios_base::sync_with_stdio(false); cin.tie(0); solve(); }
#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...