답안 #528001

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
528001 2022-02-19T01:40:43 Z amukkalir Self Study (JOI22_ho_t2) C++17
컴파일 오류
0 ms 0 KB
#include <bits/stdc++.h> 
using namespace std; 
typedef long long ll; 

#define prn printf
#define scn scanf

ll n, m; 
const int nax = 3e5; 
ll a[nax+5], b[nax+5]; 

ll updiv(ll a, ll b) {
    ll ret = a/b; 
    if(b*ret!=a) ret++; 
    return ret; 
}

bool ok (ll x) {
    ll jum = 0; 
    for(int i=0; i<n; i++) {
        ll cur += updiv(x, b[i]); 
//         ll rem = x; 
//         ll cur = 0; 
//         if(a[i] > b[i]) {
//             cur += min(m, updiv(x, a[i])); 
//             rem -= cur*a[i]; 
//         }
//         if(rem > 0) {
//             cur += updiv(rem, b[i]); 
//         }
// //cerr << i << " " << cur << endl; 
        jum += cur; 
    }

    return jum <= n*m; 
}

signed main () {
    scn("%lld %lld", &n, &m); 
    for(int i=0; i<n; i++) scn("%lld", &a[i]);
    for(int i=0; i<n; i++) scn("%lld", &b[i]);
    
    ll ans = 0; 
    ll lo = 1, hi = 1e18; 
    while(lo <= hi) {
        ll mid = (lo+hi)>>1; 
        if(ok(mid)) {
            ans = mid; 
            lo = mid+1; 
        } else hi = mid-1; 
    }
    prn("%lld", ans); 
}

/*
binser 
cek (x)
coba self study semua 
coba kalo nambahin dtg bsb erkurang ga harinya 
jumlahin harinya hrs less than or equal n*m

*/

Compilation message

Main.cpp: In function 'bool ok(ll)':
Main.cpp:21:16: error: expected initializer before '+=' token
   21 |         ll cur += updiv(x, b[i]);
      |                ^~
Main.cpp:32:16: error: 'cur' was not declared in this scope
   32 |         jum += cur;
      |                ^~~
Main.cpp: In function 'int main()':
Main.cpp:39:8: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   39 |     scn("%lld %lld", &n, &m);
      |        ^
Main.cpp:40:31: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   40 |     for(int i=0; i<n; i++) scn("%lld", &a[i]);
      |                               ^
Main.cpp:41:31: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   41 |     for(int i=0; i<n; i++) scn("%lld", &b[i]);
      |                               ^