Submission #1021637

#TimeUTC-0UsernameProblemLanguageResultExecution timeMemory
10216372024-07-12 23:32:02boyliguanhanHiring (IOI09_hiring)C++17
100 / 100
604 ms55368 KiB
#include<bits/stdc++.h>
#define N 1<<19
typedef long long ll;
#define int ll
using namespace std;
struct fenwick_tree{
ll T[N]{};
void upd(int x,int p){
while(x<N)
T[x]+=p,x+=x&-x;
}
ll qr(int x){
int ans=0;
while(x)
ans+=T[x],x-=x&-x;
return ans;
}
} X,cnt;
int h,g,p[N],CC,CC2;
pair<ll,ll>b;
void stuff(ll x,int i,ll A,ll B){
int l=0,r=5e5,res=0;
while(l<=r){
int mid=l+r>>1;
if(X.qr(mid)<=x)
l=mid+1,res=mid;
else r=mid-1;
}
ll K=cnt.qr(res),C=X.qr(res);
if(K>h||K==h&&b.first*B>b.second*A*C)
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Compilation message (stderr)

hiring.cpp: In function 'void stuff(ll, ll, ll, ll)':
hiring.cpp:24:18: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
   24 |         int mid=l+r>>1;
      |                 ~^~
hiring.cpp:30:17: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
   30 |     if(K>h||K==h&&b.first*B>b.second*A*C)
      |             ~~~~^~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...