Submission #703606

# Submission time Handle Problem Language Result Execution time Memory
703606 2023-02-27T18:43:26 Z niter Self Study (JOI22_ho_t2) C++14
0 / 100
432 ms 5052 KB
#include <iostream>
#include <vector>
#define loop(i,a,b) for(int i=a;i<b;i++)
using namespace std;
long long A[300050], B[300050];

void db(){
    cout << "\n";
}
template<class T, class ...U>
void db(T XXX, U ...YYY){
    cout << XXX << " ";  db(YYY...);
}

int main(){
//    ios::sync_with_stdio(false); cin.tie(0);
    long long N, M;
    cin >> N >> M;
    loop(i,0,N) cin >> A[i];
    loop(i,0,N) cin >> B[i];

    long long ok = 0, ng = 1LL << 60;
    auto check = [&](long long x) -> bool {
        long long day = 0, cost, day_test = 0;
        loop(i,0,N){
            if(x <= max(A[i], B[i]) * M) day += (x - 1) / max(A[i], B[i]) + 1;
            else day += M + (x - max(A[i], B[i]) * M - 1) / B[i] + 1;

            cost = x;
            cost -= min<long long>(((cost-1) / A[i] + 1), M) * max(A[i], B[i]);
            day_test += min<long long>(((cost-1) / max(A[i], B[i]) + 1), M);
            if(cost > 0)
                day_test += ((cost-1) / B[i] + 1);
            if(day != day_test) exit(0);
            if(day > N * M) return 0;
        }
        return 1;
    };
    while(ng - ok > 1){
        //db();
        long long mid = (ng + ok) / 2;
        if(check(mid)) ok = mid;
        else ng = mid;
    }
    cout << ok << endl;
    return 0;
}
# 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 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 1 ms 212 KB Output is correct
9 Correct 1 ms 212 KB Output is correct
10 Correct 6 ms 372 KB Output is correct
11 Correct 332 ms 4968 KB Output is correct
12 Correct 432 ms 5052 KB Output is correct
13 Correct 287 ms 4980 KB Output is correct
14 Correct 205 ms 4868 KB Output is correct
15 Correct 0 ms 212 KB Output is correct
16 Incorrect 90 ms 4888 KB Output isn't correct
17 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Incorrect 90 ms 4888 KB Output isn't correct
3 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 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 1 ms 212 KB Output is correct
9 Correct 1 ms 212 KB Output is correct
10 Correct 6 ms 372 KB Output is correct
11 Correct 332 ms 4968 KB Output is correct
12 Correct 432 ms 5052 KB Output is correct
13 Correct 287 ms 4980 KB Output is correct
14 Correct 205 ms 4868 KB Output is correct
15 Correct 0 ms 212 KB Output is correct
16 Incorrect 90 ms 4888 KB Output isn't correct
17 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Incorrect 90 ms 4888 KB Output isn't correct
3 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 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 1 ms 212 KB Output is correct
9 Correct 1 ms 212 KB Output is correct
10 Correct 6 ms 372 KB Output is correct
11 Correct 332 ms 4968 KB Output is correct
12 Correct 432 ms 5052 KB Output is correct
13 Correct 287 ms 4980 KB Output is correct
14 Correct 205 ms 4868 KB Output is correct
15 Correct 0 ms 212 KB Output is correct
16 Incorrect 90 ms 4888 KB Output isn't correct
17 Halted 0 ms 0 KB -