Submission #638704

#TimeUsernameProblemLanguageResultExecution timeMemory
638704jamezzzSelf Study (JOI22_ho_t2)C++17
0 / 100
711 ms2696 KiB
#include <bits/stdc++.h>
using namespace std;

#define pf printf
#define sf scanf
typedef long long ll;
typedef pair<int,int> ii;

#define maxn 300005

int n,m,a[maxn],b[maxn];

int main(){
	sf("%d%d",&n,&m);
	for(int i=0;i<n;++i){
		sf("%d",&a[i]);
	}
	for(int i=0;i<n;++i){
		sf("%d",&b[i]);
	}
	ll lo=1,hi=1e18,mid,res=0;
	while(lo<=hi){
		mid=(lo+hi)>>1;
		ll rem=(ll)n*m;
		for(int i=0;i<n;++i){
			ll take=min((ll)m,(mid+a[i]-1)/a[i]);
			ll self=max((mid-(take*a[i])+b[i]-1)/b[i],0ll);
			ll self2=(mid+b[i]-1)/b[i];
			rem-=min(take+self,self2);
			
		}
		if(rem>=0){
			res=mid;
			lo=mid+1;
		}
		else hi=mid-1;
	}
	pf("%lld\n",res);
}

Compilation message (stderr)

Main.cpp: In function 'int main()':
Main.cpp:14:4: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   14 |  sf("%d%d",&n,&m);
      |    ^
Main.cpp:16:5: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   16 |   sf("%d",&a[i]);
      |     ^
Main.cpp:19:5: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   19 |   sf("%d",&b[i]);
      |     ^
#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...