| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 1267215 | Nika533 | Flooding Wall (BOI24_wall) | C++20 | 173 ms | 436 KiB |
#include <bits/stdc++.h>
#define int long long
#define pii pair<int,int>
#define pb push_back
#define f first
#define s second
#define all(x) x.begin(),x.end()
#define allr(x) x.rbegin(),x.rend()
#define MOD 1000000007
using namespace std;
const int N=5e5+5;
int n,a[N],b[N],p[N];
main() {
cin>>n; int mx=0; p[0]=1;
for (int i=1; i<=n; i++) cin>>a[i];
for (int i=1; i<=n; i++) cin>>b[i];
int ans=0;
for (int mask=0; mask<(1<<n); mask++) {
int arr[n+2]; arr[0]=0; arr[n+1]=0;
for (int i=1; i<=n; i++) {
if (mask&(1<<(i-1))) arr[i]=b[i];
else arr[i]=a[i];
}
int pref[n+2],suf[n+2]; pref[0]=0; suf[n+1]=0;
for (int i=1; i<=n; i++) pref[i]=max(pref[i-1],arr[i]);
for (int i=n; i>=1; i--) suf[i]=max(suf[i+1],arr[i]);
for (int i=1; i<=n; i++) {
int h=min(pref[i-1],suf[i+1]);
ans+=max(0ll,h-arr[i]);
ans%=MOD;
}
}
cout<<ans<<endl;
}
Compilation message (stderr)
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
