Submission #1100031

# Submission time Handle Problem Language Result Execution time Memory
1100031 2024-10-12T13:04:44 Z ocasu Fancy Fence (CEOI20_fancyfence) C++17
12 / 100
1 ms 348 KB
#include <bits/stdc++.h>
using namespace std;

#define int long long

const int m=1e9+7;

signed main(){
    int n; cin>>n;
    vector<int> h(n), w(n);
    for (int i=0; i<n; i++) cin>>h[i];
    for (int i=0; i<n; i++) cin>>w[i];
    vector<int> sumLeft(n,0), sumRight(n,0);
    stack<int> sL,sR;
    for (int i=0; i<n; i++){
        while (!sL.empty() and h[sL.top()]>h[i]){
            sumLeft[i]+=sumLeft[sL.top()]+w[sL.top()];
            sL.pop();
        }
        sL.push(i);
    }
    for (int i=n-1; i>=0; i--){
        while (!sR.empty() and h[sR.top()]>=h[i]){
            sumRight[i]+=sumRight[sR.top()]+w[sR.top()];
            sR.pop();
        }
        sR.push(i);
    }
    ///rwgrgw
    int ans=0;
    for (int i=0; i<n; i++){
        int hors = (sumLeft[i]*sumRight[i])%m + (sumLeft[i]*w[i])%m+(sumRight[i]*w[i])%m + ((w[i]*(w[i]-1))/2)%m + w[i]%m;
        hors%=m;
        int verts = ((h[i]*(h[i]-1))/2)%m + (h[i])%m;
        verts%=m;
        ans+=(hors*verts)%m;
        ans%=m;
    }
    cout<<ans<<'\n';

}
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
2 Incorrect 1 ms 348 KB Output isn't correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
2 Incorrect 1 ms 348 KB Output isn't correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 344 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 344 KB Output is correct
2 Incorrect 1 ms 348 KB Output isn't correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
2 Incorrect 1 ms 348 KB Output isn't correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
2 Incorrect 1 ms 348 KB Output isn't correct
3 Halted 0 ms 0 KB -