#include "ricehub.h"
#include <bits/stdc++.h>
using namespace std;
#define print(l) for(auto i:l) cout<<i<<" ";cout<<endl;
#define input(t,l,n) vector<t>l(n);for(int i = 0;i<n;i++)cin>>l[i];
// #define int long long
#define pb push_back
#define ordered_set tree<int, null_type,less<int>, rb_tree_tag,tree_order_statistics_node_update>
#define all(l) l.begin(),l.end()
#define pii pair<int,int>
#define fi first
#define se second
const int M = 1e9+7;
const int inf = 1e18;
int bp(int x, int y, int p){
int res = 1;
x = x % p;
while (y > 0) {
if (y & 1)
res = (res * x) % p;
y = y >> 1;
x = (x * x) % p;
}
return res;
}
int MI(int n, int p){
return bp(n, p - 2, p);
}
int mul(int x,int y, int p){
return x * 1ull * y % p;
}
int di(int x,int y, int p){
return mul(x, MI(y, p), p);
}
int n , m , k , q;
int besthub(int R, int L, int X[], long long B) {
int l = -1;
int r = R+1;
vector<int>A;
for(int i = 0;i<R;i++)A.pb(X[i]);
vector<int>p = {0};
for(int i = 0;i<R;i++){
p.pb(p.back()+X[i]);
}
while(r-l > 1){
int m = (l+r)/2;
// cout<<l<<" "<<r<<" "<<m<<endl;
int fl =0 ;
for(int i = 0;i+m-1<R;i++){
int ops = (A[(i +i+m-1)/2]);
auto d = lower_bound(all(A),ops);
if(*d >= ops){
d--;
}
int dn = distance(A.begin(),d);
int suml = -(p[dn+1]-p[i]) + (dn+1-i) * ops;
int sumr = p[i+m]-p[dn+1] - (i+m -(dn+1)) * ops;
if(suml+sumr<=B){
l = m;
fl = 1;
break;
}
// cout<<ops<<" "<<suml<<" "<<sumr<<" "<<dn<<endl;
}
if(!fl){
r = m;
}
}
return l;
}
// signed main(){
// ios::sync_with_stdio(0);//DO NOT USE IN INTERACTIVE
// cin.tie(0), cout.tie(0);
// cout << fixed<<setprecision(9);
// int A[6] = {1,2,10,12,12,14};
// cout<<besthub(6ll,20ll,A,6ll)<<endl;;
// }
컴파일 시 표준 에러 (stderr) 메시지
ricehub.cpp:17:17: warning: overflow in conversion from 'double' to 'int' changes value from '1.0e+18' to '2147483647' [-Woverflow]
17 | const int inf = 1e18;
| ^~~~| # | 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... |