fork download
  1. #include <bits/stdc++.h>
  2. #define int long long
  3. #define ld long double
  4. #define pb push_back
  5. #define fo(i,n) for(i=0;i<n;i++)
  6. #define fo1(i,n) for(int i=1;i<=n;i++)
  7. #define fok(i,k,n) for(int i=k;i<=n;i++)
  8. #define rfo(i,n) for(int i=n;i>=0;i--)
  9. #define rfo1(i,n) for(int i=n;i>0;i--)
  10. #define all(c) c.begin(),c.end()
  11. #define rall(c) c.rbegin(),c.rend()
  12. #define si set<int>
  13. #define vi vector<int>
  14. #define mii map<int,int>
  15. #define pii pair<int,int>
  16. #define usi unordered_set<int>
  17. #define umii unordered_map<int,int>
  18. #define pqmx priority_queue<int>
  19. #define pqmn priority_queue<int,vi,greater<int> >
  20. #define sp(x,y) fixed<<setprecision(y)<<x
  21. #define setbits(x) __builtin_popcount(x)
  22. #define zerobits(x) __builtin_ctz(x)
  23. #define in(a,n) vi a(n);fo(i,n)cin>>a[i];
  24. #define in1(a,n) vi a(n+1);fo1(i,n)cin>>a[i];
  25. #define w(t) int t;cin>>t;while(t--)
  26. #define endl '\n'
  27. #define mod 1000000007
  28. #define inf 1e18
  29. using namespace std;
  30.  
  31. const int N=1e6+6;
  32. int n,m,k,x,y,z,a1,b,c,d,i,j,l,r;
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39. void sol()
  40. {
  41. cin>>n>>x;
  42. in(a,n);
  43. int mx=0;
  44. for(auto c:a)mx=max(mx,c);
  45. l=0,r=mx*x+1;
  46. int ans;
  47. while(l<=r)
  48. {
  49. int mid=l+(r-l)/2;
  50. int sum=0;
  51. for(auto c:a) {sum+=mid/c;if(sum>=x){r=mid-1; ans=mid;break;}}
  52. if(sum<x) l=mid+1;
  53. }
  54.  
  55. cout<<ans;
  56. }
  57.  
  58.  
  59.  
  60.  
  61.  
  62. int32_t main(){
  63.  
  64. ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
  65. // w(t)
  66. sol();
  67. return 0;
  68. }
Time limit exceeded #stdin #stdout 5s 4308KB
stdin
Standard input is empty
stdout
Standard output is empty