Submission #1188888

#TimeUsernameProblemLanguageResultExecution timeMemory
1188888AiperiiiFancy Fence (CEOI20_fancyfence)C++20
28 / 100
13 ms1864 KiB
#include<bits/stdc++.h> using namespace std; #define int long long #define all(x) x.begin(),x.end() #define ff first #define ss second #define pb push_back const int mod=1e9+7; signed main(){ ios_base::sync_with_stdio(0); cin.tie(0);cout.tie(0); int n; cin>>n; bool sb2=1; vector <int> h(n),w(n); for(int i=0;i<n;i++){ cin>>h[i]; if(h[i]>2)sb2=0; } for(int i=0;i<n;i++){ cin>>w[i]; } int x=0; for(int i=0;i<n;i++){ x+=w[i]; } int y=x+1; int ans=0; if(sb2){ if(x%2==0)x/=2; else y/=2; ans+=((x%mod)*(y%mod))%mod; ans%=mod; x=0; for(int i=0;i<n;i++){ if(h[i]==2){ x+=w[i]; } else{ y=x+1; ans+=((x%mod)*(y%mod))%mod; ans%=mod; x=0; } } if(x!=0){ y=x+1; ans+=((x%mod)*(y%mod))%mod; ans%=mod; } cout<<ans%mod<<"\n"; return 0; } if(x%2==0)x/=2; else y/=2; int z=((x%mod)*(y%mod))%mod; int a=h[0]; int b=h[0]+1; if(a%2==0)a/=2; else b/=2; int c=((a%mod)*(b%mod))%mod; ans=(z*c)%mod; cout<<ans<<"\n"; } /* 10^14*(10^14+1)/2 */
#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...