# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1014551 | Error404 | Kitchen (BOI19_kitchen) | C++17 | 1 ms | 2652 KiB |
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 ll long long
#define f first
#define s second
#define pi pair<ll,ll>
#define vi vector<ll>
#define vd vector<double>
#define vpi vector<pi>
#define pb push_back
#define INF 1e18
#define endl '\n'
//#define int ll
#define pii pair<pi,ll>
const int mod = 1e9+7;
const int MAX = 1e5+1;
const int LOG = 30;
vi g[MAX];
int tin[MAX], val[MAX], tout[MAX];
int up[LOG+1][MAX];
map<pi,int>mp;
vector<pi>order;
int timer = 0;
void dfs(int from,int pr){
tin[from]= ++timer;
up[0][from] = pr;
for(int i=1 ; i <= LOG; i++){
up[i][from] = up[i-1][up[i-1][from]];
}
for(int to :g[from]){
if(to==pr) continue;
dfs(to,from);
}
tout[from]=++timer;
}
bool anc(int u,int v){
return tin[u]<=tin[v] && tout[u]>=tout[v];
}
ll dfs1(int from,int pr){
ll sum = val[from];
ll hk;
for(int to :g[from]){
if(to==pr) continue;
hk = dfs1(to,from);
sum+=hk;
int a = min(from,to);
int b = max(from,to);
mp[{a,b}]+=hk;
}
return sum;
}
int lca(int u, int v){
if(anc(u,v)) return u;
if(anc(v,u)) return v;
for(int i = LOG; i > 0; i--){
if(anc(up[i][u], v)) continue;
u= up[i][u];
}
return up[0][u];
}
signed main(){
int n,m,k,a,b;
cin >>n >> m >> k;
int dish[n+1], chef[m+1];
for(int i= 1; i<= n; i++){
cin >> dish[i];
}
multiset<int>st;
for(int i = 1; i <=m; i++){
cin >> chef[i];
st.insert(chef[i]);
}
ll ans = 0;
bool flag = false;
for(int i = 1; i <=n; i++){
auto j = st.lower_bound(dish[i]);
if(j==st.end()) {
cout << "Impossible"<<endl;
return 0;
}
ans += (*j)-dish[i];
st.erase(j);
}
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... |