Submission #394987

# Submission time Handle Problem Language Result Execution time Memory
394987 2021-04-27T15:02:59 Z Pichon5 Fancy Fence (CEOI20_fancyfence) C++17
0 / 100
22 ms 332 KB
#include<bits/stdc++.h>
#define lcm(a,b) (a/__gcd(a,b))*b
#define fast ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0);
#define ll long long
#define vi vector<int>
#define vll vector<ll>
#define pb push_back
#define F first
#define S second
#define mp make_pair
//salida rapida "\n"
//DECIMALES fixed<<sp(n)<<x<<endl;
//gcd(a,b)= ax + by
//lCB x&-x
//set.erase(it) - ersases the element present at the required index//auto it = s.find(element)
//set.find(element) - iterator pointing to the given element if it is present else return pointer pointing to set.end()
//set.lower_bound(element) - iterator pointing to element greater than or equal to the given element
//set.upper_bound(element) - iterator pointing to element greater than the given element
// | ^
//__builtin_popcount(x)
using namespace std;
const ll MOD=1e9+7;
vll h,w;
long long bin(long long x){
	x %= MOD;
    return ((x*(x+1))/2)%MOD;
}
long long T(long long x, long long y){
    return (bin(x)*bin(y))%MOD;
}

int main()
{ 
    ll n,x;
    cin>>n;
    for(int i=0;i<n;i++){
        cin>>x;
        h.pb(x);
    }
    for(int i=0;i<n;i++){
        cin>>x;
        w.pb(x);
    }
    ll res=0;
    for(int i=0;i<n;i++){
        ll Hmin=h[i];
        res=(res+T(h[i],w[i]))%MOD;
        ll sum=w[i];
        for(int l=i+1;l<n;l++){
            Hmin=min(Hmin,h[l]);
            sum+=w[l];sum%=MOD;
            res=(res+T(Hmin,sum))%MOD;
            res=(res-T(Hmin,sum-w[i]))%MOD;
            res=(res-T(Hmin,sum-w[l]))%MOD;
            res=(res-T(Hmin,sum-w[l]-w[l]))%MOD;
        }

    }
    cout<<res<<endl;
 
    
    return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Output is correct
2 Incorrect 21 ms 204 KB Output isn't correct
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 204 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Output is correct
2 Incorrect 20 ms 320 KB Output isn't correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 21 ms 204 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Output is correct
2 Incorrect 20 ms 320 KB Output isn't correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 208 KB Output is correct
2 Incorrect 22 ms 332 KB Output isn't correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Output is correct
2 Incorrect 21 ms 204 KB Output isn't correct