제출 #1142740

#제출 시각아이디문제언어결과실행 시간메모리
1142740mnbvcxz123Calvinball championship (CEOI15_teams)C++20
20 / 100
68 ms584 KiB
#include<bits/stdc++.h> using namespace std; constexpr int N=1e4+5; constexpr int mod=1e6+7; #define int long long int dp[2][N]; int v[N]; int add(int a, int b){ a+=b; if(a>=mod)a-=mod; return a; } int32_t main(){ ios::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr); int n; cin>>n; for(int i=1;i<=n;++i)cin>>v[i]; dp[0][0]=1; int mx=0,ok=0; for(int i=1;i<=n;++i){ for(int j=2;j<=i;++j) dp[i&1][j]=(dp[i+1&1][j]*j+dp[i+1&1][j-1])%mod; if(v[i]!=1)ok=1; dp[i&1][0]=1; if(v[i]!=1) dp[i&1][mx]=add(dp[i&1][mx],v[i]-1)%mod; if(ok)dp[i&1][1]=1; mx=max(mx,v[i]); } int ans=0; for(int i=1;i<=n;++i) ans+=dp[n&1][i]; cout<<add(ans,1)<<'\n'; }
#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...