제출 #1123752

#제출 시각아이디문제언어결과실행 시간메모리
1123752Neco_arcSelf Study (JOI22_ho_t2)C++20
0 / 100
91 ms2628 KiB
#include <bits/stdc++.h>

#define ll long long
#define name "Self Study"
#define fi(i, a, b)  for(int i = a; i <= b; ++i)
#define fid(i, a, b) for(int i = a; i >= b; --i)
#define maxn (int) (2e5 + 7)

using namespace std;

ll n, k;
ll a[maxn], b[maxn];

bool check(ll X) {
    ll S = 0;
    fi(i, 1, n) {
        ll sl = (X - 1) / a[i] + 1;
        if(sl > k) {
            S += k;
            S += (X - k * a[i] - 1) / b[i] + 1;
        }
        else S += sl;
        if(S > n * k) return 0;
    }
    return S <= n * k;
}

void solve() {

    cin >> n >> k;
    fi(i, 1, n) cin >> a[i];
    fi(i, 1, n) cin >> b[i];

    fi(i, 1, n) a[i] = max(a[i], b[i]);

    ll l = 0, r = 1ll << 60;
    while(l <= r) {
        ll mid = (l + r) / 2;
        if(check(mid)) l = mid + 1;
        else r = mid - 1;
    }

    cout << r;
}

int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(0), cout.tie(0);

    if(fopen(name".inp", "r")) {
        freopen(name".inp", "r", stdin);
        freopen(name".out", "w", stdout);
    }

    solve();

}

컴파일 시 표준 에러 (stderr) 메시지

Main.cpp: In function 'int main()':
Main.cpp:51:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   51 |         freopen(name".inp", "r", stdin);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
Main.cpp:52:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   52 |         freopen(name".out", "w", stdout);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
#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...