Submission #445025

#TimeUsernameProblemLanguageResultExecution timeMemory
445025fuad27Fancy Fence (CEOI20_fancyfence)C++14
27 / 100
95 ms1412 KiB
#include<bits/stdc++.h> using namespace std; typedef long long ll; #define mod 1000000007 #define int long long long long bin(long long x){ x %= mod; return ((x*(x+1))/2)%mod; } long long rec(long long x, long long y){ return (bin(x)*bin(y))%mod; } int32_t main () { int n, sum = 0; bool check = false; cin >> n; ll ans = 0; vector<int> h; for(int i = 0;i<n;i++) { int hi; cin >> hi; h.push_back(hi); } for(int i = 0;i<n;i++) { int w;cin>>w; sum += w; sum%=mod; if(w != 1)check = 1; } if(!check and n<=50) { for(int i = 0;i<n;i++) { int MIN = h[i]; for(int j = i+1;j<=n;j++) { MIN = min(MIN, h[j - 1]); ans += bin(MIN); ans%=mod; } } cout<<ans;} else cout<<rec(sum, h[0])<<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...