Submission #1235378

#TimeUsernameProblemLanguageResultExecution timeMemory
1235378hamanp87Self Study (JOI22_ho_t2)C++17
100 / 100
121 ms4936 KiB
#include<bits/stdc++.h> using namespace std; using ll=long long; //#pragma GCC optimize("03,unroll-loops") //#pragma GCC target("avx2") //#pragma GCC target("sse4") #define all(v) v.begin(),v.end() #define F first #define S second #define pub push_back #define pob pop_back #define puf push_front #define pof pop_front //#define randi uniform_int_distribution<long long> #define damoon(v) v.resize(unique(all(v))-v.begin()) //mt19937 rng(chrono::steady_clock::now().time_since_epoch().count()); //randi dist(0,10000000000000000); typedef pair<int,int> pii; typedef pair<long long,long long> pll; typedef pair<int,bool> pib; typedef pair<long long,bool> plb; typedef pair<int,pii> pip; typedef pair<pii,int> ppi; typedef vector<int> veci; typedef vector<long long> vecl; typedef vector<bool> vecb; typedef vector<pii> vecp; typedef set<int> seti; typedef set<long long> setl; typedef set<pii> setp; typedef map<int,int> mapii; typedef map<long long,long long> mapll; typedef map<int,bool> mapib; typedef map<long long,bool> maplb; const int inf=1e9,mod=1e9+7,neginf=-1e9; const double PI=acos(-1); int n; ll m; vecl a,b; bool IsOk(ll x) { ll tot=0,lim=n*m; for(int i=0;i<n;i++) { ll ai=a[i],bi=b[i],ned; if(b[i]>=a[i]) { ned=(x+bi-1)/bi; } else { if(m*ai>=x) { ned=(x+ai-1)/ai; } else { ll rem=x-m*ai; ned=m+(rem+bi-1)/bi; } } tot+=ned; if(tot>lim) return 0; } return tot<=lim; } void solve() { cin>>n>>m; a.resize(n); b.resize(n); for(int i=0;i<n;i++) cin>>a[i]; for(int i=0;i<n;i++) cin>>b[i]; ll mx=0; for(int i=0;i<n;i++) mx=max(mx,max(a[i],b[i])); ll L=0,R=mx*m+1; while(R-L>1) { ll mid=(L+R)>>1; if(IsOk(mid)) L=mid; else R=mid; } cout<<L<<"\n"; } int main() { cin.tie(0); cout.tie(0); ios_base::sync_with_stdio(false); //ifstream fin("in.txt"); //ofstream fout("out.txt"); int t=1; //cin>>t; while(t--) { solve(); } }
#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...