Submission #1117512

#TimeUsernameProblemLanguageResultExecution timeMemory
1117512wellthen_Self Study (JOI22_ho_t2)C++17
0 / 100
369 ms11928 KiB
#include <bits/stdc++.h>
#include <climits>
using namespace std;
typedef long long ll;
bool works(ll mid, vector<ll> classes, vector<ll> selfstudy, ll n, ll m){
    //satisfy requirement for all the classes
    ll time = n*m;
    for(int i = 0; i<classes.size(); i++){
        if(classes[i] > selfstudy[i]){
            if(m * classes[i] >= mid){
                time -= (mid + classes[i] - 1) / classes[i];
            }
            else{
                time -= m;
                time -= (mid - m * classes[i] + selfstudy[i] - 1) / selfstudy[i];
            }
        }
        else {
            time -= (mid + selfstudy[i] - 1) / selfstudy[i];
        }
    }
    return time>=0;
}
int main() {
    ll n, m;
    cin >> n >> m;
    vector<ll> classes(n), selfstudy(n);
    for (int i = 0; i < n; i++) {
        cin >> classes[i];
    }
    for (int i = 0; i < n; i++) {
        cin >> selfstudy[i];
    }
    ll lo = 0, hi = ll(1e16), best = 0;
    while (lo <= hi) {
        ll mid = lo + (hi - lo) / 2; 
        if (works(mid, classes, selfstudy, n, m)) {
            best = mid; 
            lo = mid + 1;
        } else {
            hi = mid - 1; 
        }
    }

    cout << best << endl;
    return 0;
}

Compilation message (stderr)

Main.cpp: In function 'bool works(ll, std::vector<long long int>, std::vector<long long int>, ll, ll)':
Main.cpp:8:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
    8 |     for(int i = 0; i<classes.size(); 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...