Submission #945026

#TimeUsernameProblemLanguageResultExecution timeMemory
945026XiaoyangFancy Fence (CEOI20_fancyfence)C++17
13 / 100
12 ms1884 KiB
#include <bits/stdc++.h> using namespace std; #pragma GCC optimize("O3,unroll-loops") #pragma GCC target("avx2,bmi,bmi2,lzcnt,popcnt") typedef long long ll; #define fi first #define se second #define pll pair<ll,ll> #define pb push_back #define debug(x) cerr<<#x<<"="<<x<<endl; #define MP make_pair #define rep(i,a,b) for(ll i=a;i<b;i++) #define SZ(x) (ll)x.size() #define ALL(x) x.begin(),x.end() #define endl "\n" const ll inf=1e18; ll lowbit(ll x){return x&(-x);} const ll mod=1e9+7; const ll maxn=1e5+5; ll h[maxn],w[maxn]; ll c2(ll a){ a%=mod; return (a*(a-1)/2)%mod; } int main(){ ios::sync_with_stdio(0); cin.tie(0); ll n;cin>>n; ll wid=0; rep(i,1,n+1)cin>>h[i]; rep(i,1,n+1)cin>>w[i],wid+=w[i],wid%=mod; ll ans=0; ans+=c2(wid+1); ans%=mod; //debug(ans); rep(i,1,n+1){ if(h[i]==2){ ll len=0; while(h[i]==2){ len+=w[i]; i++; } ans+=(2*c2(len+1))%mod; ans%=mod; } } cout<<ans<<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...