Submission #944833

#TimeUsernameProblemLanguageResultExecution timeMemory
944833bngybongybrdFancy Fence (CEOI20_fancyfence)C++17
0 / 100
1 ms348 KiB
#include <bits/stdc++.h> using namespace std; #define int long long int n; int w[100005]; int h[100005]; int ans = 0; int width = 0; int mod = 1000000000 + 7; signed main(){ ios_base::sync_with_stdio(false); cin.tie(0); cin >> n; for(int i = 0; i < n; i++)cin >> h[i]; for(int i = 0; i < n; i++){ cin >> w[i]; width += w[i]; // ans += (h[i]-1)*w[i]; // vertical rectangle for h=2 } // cout << width << "\n"; // cout << ans << "\n"; if(width % 2 == 0){ // all rectangle for h=1 ans += (width+1)*(width/2); ans %= mod; } else { ans += (width*(width-1)/2)+width; ans %= mod; } // cout << ans << "\n"; width = 0; for(int i = 0; i < n; i++){ if(h[i] > 1){ width += w[i]; } else { if(width != 0){ if(width % 2 == 0){ // all rectangle for h=2 ans += (width+1)*(width/2)*2; ans %= mod; } else { ans += ((width*(width-1)/2)+width)*2; ans %= mod; } } width = 0; } if(i == (n-1)){ if(width != 0){ if(width % 2 == 0){ // all rectangle for h=2 ans += (width+1)*(width/2)*2; ans %= mod; } else { ans += ((width*(width-1)/2)+width)*2; ans %= mod; } } width = 0; } } 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...