제출 #395022

#제출 시각아이디문제언어결과실행 시간메모리
395022Pichon5Fancy Fence (CEOI20_fancyfence)C++17
30 / 100
1092 ms2000 KiB
#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 int #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; ll bin(ll x){ x%=MOD; return ((x*(x+1))/2)%MOD; } ll T(ll x,ll y){ return (bin(x)%MOD*bin(y)%MOD)%MOD; } int main() { //freopen("input1.txt","r",stdin); 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; for(int l=i+1;l<n;l++){ Hmin=min(Hmin,h[l]); res=(res+T(Hmin,w[i]+w[l]))%MOD; res=(res-T(Hmin,w[i]))%MOD; res=(res-T(Hmin,w[l]))%MOD; } } cout<<(res+MOD)%MOD<<endl; return 0; } //freopen("input.txt","r",stdin); //756135655
#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...