제출 #1234779

#제출 시각아이디문제언어결과실행 시간메모리
1234779gry3125Fancy Fence (CEOI20_fancyfence)C++20
0 / 100
1 ms328 KiB
#include <bits/stdc++.h> #define ll long long int #define pb push_back #define fi first #define se second using namespace std; int main() { int n; cin >> n; vector<ll> h(n), w(n); for (int i = 0; i < n; i++) cin >> h[i]; for (int i = 0; i < n; i++) cin >> w[i]; deque<pair<ll,ll>> r; ll cnt = 0; for (int i = 0; i < n; i++) { if (r.empty()) {r.pb({h[i], w[i]}); continue;} if (h[i] != r.back().fi) {r.pb({h[i], w[i]}); continue;} r.back().se += w[i]; } // h = 1, bottom ll base = 0; for (int i = 0; i < n; i++) base += w[i]; ll baser = ((base+1)*base)/2; baser %= 1000000007; cnt += baser; cnt %= 1000000007; for (auto x : r) { ll hh = x.fi, ww = x.se; if (hh == 1) continue; // h = 1, top; h = 2 ll rect = (ww+1)*ww; rect %= 1000000007; cnt += rect; cnt %= 1000000007; } cout << cnt; 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...