제출 #1294503

#제출 시각아이디문제언어결과실행 시간메모리
1294503muhammad-mutahir쌀 창고 (IOI11_ricehub)C++20
68 / 100
10 ms1980 KiB
#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 timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...