Submission #610263

#TimeUsernameProblemLanguageResultExecution timeMemory
610263ArnchFancy Fence (CEOI20_fancyfence)C++17
0 / 100
288 ms262144 KiB
// oooo /* har chi delet mikhad bebar ~ gitar o ba khodet nabar! ~ ;Amoo_Hasan; */ #include<bits/stdc++.h> //#pragma GCC optimize("O3,no-stack-protector,unroll-loops") //#pragma GCC target("avx2,fma") using namespace std; typedef long long ll; typedef long double ld; #define Sz(x) int((x).size()) #define All(x) (x).begin(), (x).end() #define wtf(x) cout<<#x <<" : " <<x <<endl constexpr ll inf = 1e18, N = 1e6 + 10, mod = 1e9 + 7, pr = 1000696969; int h[N], w[N]; ll bpow; vector<int> vc; ll poww(ll x, int y) { ll res = 1; for(; y; y /= 2, x = x * x % mod) if(y & 1) res *= x, res %= mod; return res; } ll choose(ll x) { ll res = x * (x - 1) % mod; res *= bpow; res %= mod; return res; } int main() { ios :: sync_with_stdio(0), cin.tie(0); bpow = poww(2, mod - 2); int n; cin >>n; for(int i = 0; i < n; i++) { cin >>h[i]; } for(int i = 0; i < n; i++) { cin >>w[i]; for(int j = 0; j < w[i]; j++) { vc.push_back(h[i]); } } ll ans = 0; for(int i = 0; i < Sz(vc); i++) for(int j = i; j < Sz(vc); j++) { ll cnt = min(vc[i], vc[j]) + 1; cnt = choose(cnt); ans += cnt, ans %= mod; } 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...