This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include<bits/stdc++.h>
using namespace std;
#define int long long
const int N = 2e5 + 1;
main(){
ios::sync_with_stdio(0);
cin.tie(0),cout.tie(0);
int n , m;cin >> n >> m;
vector<int> d1(n + m - 1) , d2(n + m - 1) , sz(n + m - 1);
int ans = 1e18 , s = 0;
for(int i = 0;i < n + m - 1;i ++){
cin >> d1[i];
if(i < min(n , m)) sz[i] = i + 1;
if(min(n , m) <= i && i < max(n , m)) sz[i] = sz[i - 1];
if(i >= max(n , m)) sz[i] = sz[i - 1] - 1;
}
for(int i = 0;i < n + m - 1;i ++){
cin >> d2[i];
if(n == 1) s += min(d2[i] , d1[m - i - 1]);
}
if(n == 1){
cout << s << endl;
return 0;
}
for(int mk = 0;mk < (1 << (n + m - 1));mk ++){
int s = 0;
vector<int> f(n + m - 1);
for(int i = 0;i < n + m - 1;i ++){
if((1 << i) & mk) s += d1[i];
else{
int st;
if(i < m){
st = m - i - 1;
}else{
st = i - m + 1;
}
int x = sz[i];
while(x --){
if(!f[st]) s += d2[st];
f[st] = 1;
st += 2;
}
}
}
ans = min(ans , s);
}
cout << ans << endl;
}
Compilation message (stderr)
colouring.cpp:8:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
8 | main(){
| ^~~~
# | 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... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |