Submission #14316

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