제출 #1335456

#제출 시각아이디문제언어결과실행 시간메모리
1335456ttamxFancy Fence (CEOI20_fancyfence)C++20
0 / 100
5 ms448 KiB
#include<bits/stdc++.h>

using namespace std;

using ll = long long;

const int N=1e5+5;
const int MOD=1e9+7;

int n;
int h[N],w[N];
ll ans=0;

ll choose2(ll x){
    x%=MOD;
    return (x*(x-1)/2)%MOD;
}

int main(){
    cin.tie(nullptr)->sync_with_stdio(false);
    cin >> n;
    for(int i=1;i<=n;i++){
        cin >> h[i];
    }
    for(int i=1;i<=n;i++){
        cin >> w[i];
    }
    for(int i=1;i<=n;i++){
        ans=(ans+choose2(h[i]+1)*choose2(h[i]+1)%MOD)%MOD;
    }
    for(int l=1;l<=n;l++){
        int mn=h[l];
        for(int r=l+1;r<=n;r++){
            mn=min(mn,h[r]);
            ans=(ans+choose2(mn+1)*w[l]%MOD*w[r]%MOD)%MOD;
        }
    }
    cout << ans << "\n";
}
#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...