Submission #794399

# Submission time Handle Problem Language Result Execution time Memory
794399 2023-07-26T13:57:05 Z Theo830 Self Study (JOI22_ho_t2) C++17
0 / 100
426 ms 10808 KB
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll INF = 1e9+7;
const ll MOD = 998244353;
typedef pair<ll,ll> ii;
#define iii pair<ll,ii>
#define f(i,a,b) for(ll i = a;i < b;i++)
#define pb push_back
#define vll vector<ll>
#define F first
#define S second
#define all(x) (x).begin(), (x).end()
///I hope I will get uprating and don't make mistakes
///I will never stop programming
///sqrt(-1) Love C++
///Please don't hack me
///@TheofanisOrfanou Theo830
///Think different approaches (bs,dp,greedy,graphs,shortest paths,mst)
///Stay Calm
///Look for special cases
///Beware of overflow and array bounds
///Think the problem backwards
///Training
int main(){
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    ll l = 0,r = 1e18;
    ll ans = 0;
    ll n,m;
    cin>>n>>m;
    ll a[n],b[n];
    f(i,0,n){
        cin>>a[i];
    }
    f(i,0,n){
        cin>>b[i];
    }
    while(l <= r){
        ll mid = (l+r)/2;
        ll A = 0,B = 0;
        f(i,0,n){
            if(b[i] >= a[i]){
                B += (mid + b[i] - 1) / b[i];
            }
            else{
                ll posa = min(m,(mid + a[i] - 1) / a[i]);
                A += posa;
                ll num = max(0LL,mid - posa * a[i]);
                B += (num + b[i] - 1) / b[i];
            }
        }
        if(A + B <= n*m){
            l = mid + 1;
            ans = max(ans,mid);
        }
        else{
            r = mid - 1;
        }
    }
    cout<<ans<<"\n";
}
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Correct 1 ms 212 KB Output is correct
5 Correct 1 ms 212 KB Output is correct
6 Correct 1 ms 212 KB Output is correct
7 Correct 0 ms 212 KB Output is correct
8 Correct 1 ms 212 KB Output is correct
9 Correct 0 ms 212 KB Output is correct
10 Correct 3 ms 468 KB Output is correct
11 Correct 194 ms 10808 KB Output is correct
12 Correct 198 ms 10800 KB Output is correct
13 Correct 133 ms 8816 KB Output is correct
14 Incorrect 426 ms 8780 KB Output isn't correct
15 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Correct 0 ms 212 KB Output is correct
5 Correct 0 ms 212 KB Output is correct
6 Correct 0 ms 212 KB Output is correct
7 Correct 0 ms 212 KB Output is correct
8 Correct 0 ms 212 KB Output is correct
9 Correct 71 ms 2644 KB Output is correct
10 Correct 48 ms 1876 KB Output is correct
11 Correct 36 ms 1492 KB Output is correct
12 Correct 29 ms 1248 KB Output is correct
13 Correct 1 ms 212 KB Output is correct
14 Correct 0 ms 212 KB Output is correct
15 Correct 0 ms 212 KB Output is correct
16 Correct 0 ms 212 KB Output is correct
17 Correct 0 ms 212 KB Output is correct
18 Incorrect 4 ms 340 KB Output isn't correct
19 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Correct 1 ms 212 KB Output is correct
5 Correct 1 ms 212 KB Output is correct
6 Correct 1 ms 212 KB Output is correct
7 Correct 0 ms 212 KB Output is correct
8 Correct 1 ms 212 KB Output is correct
9 Correct 0 ms 212 KB Output is correct
10 Correct 3 ms 468 KB Output is correct
11 Correct 194 ms 10808 KB Output is correct
12 Correct 198 ms 10800 KB Output is correct
13 Correct 133 ms 8816 KB Output is correct
14 Incorrect 426 ms 8780 KB Output isn't correct
15 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Correct 0 ms 212 KB Output is correct
5 Correct 0 ms 212 KB Output is correct
6 Correct 0 ms 212 KB Output is correct
7 Correct 0 ms 212 KB Output is correct
8 Correct 0 ms 212 KB Output is correct
9 Correct 71 ms 2644 KB Output is correct
10 Correct 48 ms 1876 KB Output is correct
11 Correct 36 ms 1492 KB Output is correct
12 Correct 29 ms 1248 KB Output is correct
13 Correct 1 ms 212 KB Output is correct
14 Correct 0 ms 212 KB Output is correct
15 Correct 0 ms 212 KB Output is correct
16 Correct 0 ms 212 KB Output is correct
17 Correct 0 ms 212 KB Output is correct
18 Incorrect 4 ms 340 KB Output isn't correct
19 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Correct 1 ms 212 KB Output is correct
5 Correct 1 ms 212 KB Output is correct
6 Correct 1 ms 212 KB Output is correct
7 Correct 0 ms 212 KB Output is correct
8 Correct 1 ms 212 KB Output is correct
9 Correct 0 ms 212 KB Output is correct
10 Correct 3 ms 468 KB Output is correct
11 Correct 194 ms 10808 KB Output is correct
12 Correct 198 ms 10800 KB Output is correct
13 Correct 133 ms 8816 KB Output is correct
14 Incorrect 426 ms 8780 KB Output isn't correct
15 Halted 0 ms 0 KB -