Submission #851257

#TimeUsernameProblemLanguageResultExecution timeMemory
851257Jawad_Akbar_JJFancy Fence (CEOI20_fancyfence)C++14
0 / 100
11 ms8080 KiB
#include <bits/stdc++.h> using namespace std; #define int long long const int N = 1e5 + 10; int r[N][3]; int w[N]; int h[N]; int mod = 1e9 + 7; signed main(){ int n; cin>>n; for (int i=1;i<=n;i++) cin>>h[i]; int ans = 0; for (int i=1;i<=n;i++){ cin>>w[i]; int a = (w[i]*(w[i]+1))/2; a = a % mod; ans += a; ans %= mod; if (h[i]==2) ans += 2*a; ans %= mod; } for (int i=n;i>=1;i--){ for (int j=1;j<=h[i];j++){ r[i][j] = r[i+1][j]; ans += (r[i][j]*j)%mod; ans %= mod; r[i][j] = r[i+1][j] + w[i]; r[i][j] %= mod; // cout<<"At "<<i<<" "<<j<<" added "<<r[i][j]*j<<endl; } } 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...