제출 #1285328

#제출 시각아이디문제언어결과실행 시간메모리
1285328atillama쌀 창고 (IOI11_ricehub)C++20
0 / 100
1 ms568 KiB
#include "ricehub.h" #include <bits/stdc++.h> using namespace std; #define pii pair<int, int> #define pb push_back #define F first #define S second #define ins insert #define rep(i, a, b) for(int i = a; i <= b; i++) #define fastio ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0) #define int long long int32_t besthub(int32_t cnt, int32_t mx, int32_t X[], int b){ vector<int> x; rep(i, 0, cnt - 1) x.pb(X[i]); int l = 1, r = mx - 1; int best = 0; while(l <= r){ int mid = (l + r) / 2; int cur1cost = 0; int cur1cnt = 0; sort(x.begin(), x.end(), [mid](int a, int b){ return abs(a - mid) < abs(b - mid); }); rep(i, 0, cnt - 1){ if(cur1cost + abs(x[i] - mid) <= b){ cur1cost += abs(x[i] - mid); cur1cnt++; } } int cur2cost = 0; int cur2cnt = 0; sort(x.begin(), x.end(), [mid](int a, int b){ return abs(a - (mid + 1)) < abs(b - (mid + 1)); }); rep(i, 0, cnt - 1){ if(cur2cost + abs(x[i] - (mid + 1)) <= b){ cur2cost += abs(x[i] - (mid + 1)); cur2cnt++; } } best = max(best, max(cur1cnt, cur2cnt)); if(cur1cnt <= cur2cnt){ l = mid + 1; }else{ best = cur1cnt; r = mid - 1; } } return best; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...