답안 #703642

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
703642 2023-02-28T03:01:59 Z niter Self Study (JOI22_ho_t2) C++14
10 / 100
295 ms 7368 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], C[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];
    loop(i,0,N) C[i] = max(A[i], 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 <= C[i] * M) day += (x - 1) / C[i] + 1;
            else day += M + (x - C[i] * M - 1) / B[i] + 1;

            cost = x;
            cost -= min(((cost-1) / C[i] + 1), M) * C[i];
            day_test += min(((cost-1) / C[i] + 1), M);
            if(cost > 0)
                day_test += ((cost-1) / B[i] + 1);
            //if(day != day_test) exit(0);
            if(day_test > 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;
}
# 결과 실행 시간 메모리 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 0 ms 212 KB Output is correct
9 Correct 0 ms 212 KB Output is correct
10 Correct 5 ms 340 KB Output is correct
11 Correct 280 ms 7324 KB Output is correct
12 Correct 286 ms 7252 KB Output is correct
13 Correct 223 ms 7368 KB Output is correct
14 Correct 185 ms 7224 KB Output is correct
15 Correct 0 ms 212 KB Output is correct
16 Correct 79 ms 7248 KB Output is correct
17 Correct 295 ms 7320 KB Output is correct
18 Correct 275 ms 7328 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 79 ms 7248 KB Output is correct
3 Correct 295 ms 7320 KB Output is correct
4 Correct 275 ms 7328 KB Output is correct
5 Incorrect 0 ms 212 KB Output isn't correct
6 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 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 0 ms 212 KB Output is correct
9 Correct 0 ms 212 KB Output is correct
10 Correct 5 ms 340 KB Output is correct
11 Correct 280 ms 7324 KB Output is correct
12 Correct 286 ms 7252 KB Output is correct
13 Correct 223 ms 7368 KB Output is correct
14 Correct 185 ms 7224 KB Output is correct
15 Incorrect 0 ms 212 KB Output isn't correct
16 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 212 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 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 0 ms 212 KB Output is correct
9 Correct 0 ms 212 KB Output is correct
10 Correct 5 ms 340 KB Output is correct
11 Correct 280 ms 7324 KB Output is correct
12 Correct 286 ms 7252 KB Output is correct
13 Correct 223 ms 7368 KB Output is correct
14 Correct 185 ms 7224 KB Output is correct
15 Incorrect 0 ms 212 KB Output isn't correct
16 Halted 0 ms 0 KB -