Submission #1234980

#TimeUsernameProblemLanguageResultExecution timeMemory
1234980jundiFancy Fence (CEOI20_fancyfence)C++20
0 / 100
1 ms328 KiB
#include <bits/stdc++.h> using namespace std; #define lint long long int int mod=1e9+7; int main(){ int n; cin>>n; vector<lint> h(n); vector<lint> w(n); vector<lint> cntw(n,0); for(int i=0;i<n;i++){ cin>>h[i]; } for(int i=0;i<n;i++){ cin>>w[i]; } cntw[n-1]=w[n-1]; for(int i=n-2;i>=0;i--){ cntw[i]=cntw[i+1]+w[i]; cntw[i]%=mod; } for(int i=1;i<n;i++){ if(w[i]==w[i-1]) cntw[i]==cntw[i-1]; } // lint sum=(((1+cntw[n-1])%mod)*(cntw[n-1]%mod)/2); // sum%=mod; lint reh=0; lint sum=0; for(int i=0;i<n;i++){ if(i>0) if(h[i]!=h[i-1]) reh=h[i-1]; if(h[i]!=h[i+1] || i==n-1){ lint huh=(((cntw[i]+1)%mod)*(cntw[i]%mod)/2); huh%=mod; lint huh2=(((h[i]+1)%mod)*(h[i]%mod)/2); huh2%=mod; huh2-=reh; sum+=huh*huh2; sum%=mod; // cout<<sum<<endl; reh=0; } } cout<<sum; }
#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...