Submission #922047

#TimeUsernameProblemLanguageResultExecution timeMemory
922047AlebnFancy Fence (CEOI20_fancyfence)C++14
0 / 100
1032 ms2136 KiB
#include <bits/stdc++.h> #define int long long using namespace std; const int mod=1000000007; int MOD(int x) { return (x+3*mod)%mod; } int n, k, m; vector<int> h, w; int section(int h, int w) { h%=mod, w%=mod; int facteur=MOD((h*(h+1))/2); int ans=MOD((w*(w+1))/2); return MOD(ans*facteur); } int subtask5() { int ans=0; for (int i=0; i<n; i++) { int mini=h[i]; int sum=w[i]; ans=MOD(ans+section(w[i], h[i])); for (int j=i+1; j<n; j++) { mini=min(mini, h[i]); int res=section(mini, sum); res-=MOD(section(mini, sum-w[i])+section(mini, sum-w[j])); res=MOD(res); res+=section(mini, sum-w[i]-w[j]); ans=MOD(ans+MOD(res)); } } return ans; } int solve() { cin >> n; h = vector<int>(n), w = vector<int>(n); for(int i = 0; i < n; i++) cin >> h[i]; for(int i = 0; i < n; i++) cin >> w[i]; return subtask5(); } signed main() { ios::sync_with_stdio(0); cin.tie(0); cout << solve() << endl; 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...