제출 #1234940

#제출 시각아이디문제언어결과실행 시간메모리
1234940jundiFancy Fence (CEOI20_fancyfence)C++20
13 / 100
31 ms2632 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];
        if(i==0) cntw[i]=w[i];
        else cntw[i]=w[i]+cntw[i-1];
        cntw[i]%=mod;
    }
    lint sum=(((1+cntw[n-1])%mod)*(cntw[n-1]%mod)/2);
    lint re=0;
    sum%=mod;
    for(int i=0;i<n;i++){
        if(h[i]==2 && h[i+1]==2) re+=w[i];
        else if(h[i]==2){
            re+=w[i];
            lint huh=(((re+1)%mod)*(re%mod));
            huh%=mod;
            sum+=huh; sum%=mod;
            re=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...