Submission #14348

#TimeUsernameProblemLanguageResultExecution timeMemory
14348cometBe Two Bees (OJUZ10_b2b)C++98
0 / 100
79 ms4324 KiB
#include<bits/stdc++.h> using namespace std; typedef long long ll; int n; ll sum,H[111111]; double T[111111],a[111111]; bool check(double k){ for(int i=0;i<n;i++)a[i]=H[i]+k*T[i]; double ret=0; double* t=max_element(a,a+n); ret+=*t; *t=-1e18; t=max_element(a,a+n); ret+=*t; return ret>sum; } void output(double k){ double Max=0; int v,v2; for(int i=0;i<n;i++)a[i]=H[i]+k*T[i]; for(int i=0;i<n;i++){ if(Max<a[i]){ Max=a[i]; v=i; } } Max=0; for(int i=0;i<n;i++){ if(Max<a[i]&&i!=v){ Max=a[i]; v2=i; } } printf("%d %d\n",v+1,v2+1); } int main(){ scanf("%d",&n); int x,y,z; for(int i=0;i<n;i++){ scanf("%lld",&H[i]); sum+=H[i]; } for(int i=0;i<n;i++){ scanf("%lf",&T[i]); T[i]=(double)1/T[i]; } double lo=0,hi=1e15,mid; for(int i=0;i<80;i++){ mid=(lo+hi)/2; if(check(mid)){ hi=mid; } else{ lo=mid; } // printf("%f %f\n",hi,lo); } output(lo); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...