답안 #534189

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
534189 2022-03-08T01:56:53 Z Paul_Liao_1457 Self Study (JOI22_ho_t2) C++17
10 / 100
330 ms 5080 KB
// 還要更強
#include<iostream>
#include<queue>
#include<set>
#include<map>
#include<iomanip>
#include<math.h>
#include<cstring>
#include<stack>
#include<string.h>
#include<random>
#include<algorithm>
#include<vector>
#include <cassert>

#define ll long long
#define FOR(i,a,b) for(ll i=a;i<b;i++)
#define REP(i,a,b) for(int i=a;i>=b;i--)
#define INF (ll)(2e18)
#define pb push_back
#define F first
#define S second

using namespace std;

ll n,m;
ll A[300005],B[300005];


bool check(ll x){
    ll res=0;
    FOR(i,0,n){
        ll tmp=x;
        if(A[i]*m<tmp){
            tmp-=A[i]*m;
            if(B[i]<=0) exit(-1);
            res-=tmp/B[i]+(tmp%B[i]?1:0);
        }
        else{
            ll used=m;
            res+=m-used;
        }
    }
    if(res>=0) return 1;
    return 0;
}

signed main(){
    cin>>n>>m;
    FOR(i,0,n){
        cin>>A[i];
    }
    FOR(i,0,n){
        cin>>B[i]; A[i]=max(A[i],B[i]);
    }
    ll l=1,r=(1e18+1),ans=1;
    while(l<r){
        ll mid=(l+r)>>1;
        if(check(mid)){
            ans=max(ans,mid); l=mid+1;
        }
        else{
            r=mid;
        }
    }
    cout<<ans<<endl;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 204 KB Output is correct
2 Correct 0 ms 204 KB Output is correct
3 Correct 0 ms 204 KB Output is correct
4 Correct 0 ms 204 KB Output is correct
5 Correct 0 ms 204 KB Output is correct
6 Correct 1 ms 204 KB Output is correct
7 Correct 1 ms 204 KB Output is correct
8 Correct 1 ms 204 KB Output is correct
9 Correct 1 ms 256 KB Output is correct
10 Correct 7 ms 372 KB Output is correct
11 Correct 300 ms 5080 KB Output is correct
12 Correct 317 ms 4976 KB Output is correct
13 Correct 254 ms 4980 KB Output is correct
14 Correct 327 ms 4976 KB Output is correct
15 Correct 0 ms 204 KB Output is correct
16 Correct 242 ms 4948 KB Output is correct
17 Correct 330 ms 4936 KB Output is correct
18 Correct 302 ms 4880 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 204 KB Output is correct
2 Correct 242 ms 4948 KB Output is correct
3 Correct 330 ms 4936 KB Output is correct
4 Correct 302 ms 4880 KB Output is correct
5 Incorrect 0 ms 204 KB Output isn't correct
6 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 204 KB Output is correct
2 Correct 0 ms 204 KB Output is correct
3 Correct 0 ms 204 KB Output is correct
4 Correct 0 ms 204 KB Output is correct
5 Correct 0 ms 204 KB Output is correct
6 Correct 1 ms 204 KB Output is correct
7 Correct 1 ms 204 KB Output is correct
8 Correct 1 ms 204 KB Output is correct
9 Correct 1 ms 256 KB Output is correct
10 Correct 7 ms 372 KB Output is correct
11 Correct 300 ms 5080 KB Output is correct
12 Correct 317 ms 4976 KB Output is correct
13 Correct 254 ms 4980 KB Output is correct
14 Correct 327 ms 4976 KB Output is correct
15 Incorrect 0 ms 204 KB Output isn't correct
16 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 204 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 204 KB Output is correct
2 Correct 0 ms 204 KB Output is correct
3 Correct 0 ms 204 KB Output is correct
4 Correct 0 ms 204 KB Output is correct
5 Correct 0 ms 204 KB Output is correct
6 Correct 1 ms 204 KB Output is correct
7 Correct 1 ms 204 KB Output is correct
8 Correct 1 ms 204 KB Output is correct
9 Correct 1 ms 256 KB Output is correct
10 Correct 7 ms 372 KB Output is correct
11 Correct 300 ms 5080 KB Output is correct
12 Correct 317 ms 4976 KB Output is correct
13 Correct 254 ms 4980 KB Output is correct
14 Correct 327 ms 4976 KB Output is correct
15 Incorrect 0 ms 204 KB Output isn't correct
16 Halted 0 ms 0 KB -