Submission #534147

# Submission time Handle Problem Language Result Execution time Memory
534147 2022-03-08T01:38:35 Z Paul_Liao_1457 Self Study (JOI22_ho_t2) C++17
0 / 100
419 ms 5484 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(1ll*A[i]<tmp){
            tmp-=A[i];
            if(tmp<0){
                assert(1);
            }
            res-=tmp/B[i]+(tmp%B[i]?1:0);
        }
        else{
            ll used=(tmp-1)/A[i]+1;
            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=0,r=(1e18+1),ans=0;
    while(l<r){
        ll mid=(l+r)>>1;
        if(check(mid)){
            ans=max(ans,mid); l=mid+1;
        }
        else{
            r=mid;
        }
    }
    cout<<ans<<endl;
}
# Verdict Execution time Memory 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 1 ms 204 KB Output is correct
6 Correct 0 ms 204 KB Output is correct
7 Correct 0 ms 204 KB Output is correct
8 Correct 0 ms 204 KB Output is correct
9 Correct 1 ms 204 KB Output is correct
10 Correct 6 ms 372 KB Output is correct
11 Correct 343 ms 4988 KB Output is correct
12 Correct 318 ms 5024 KB Output is correct
13 Correct 276 ms 5372 KB Output is correct
14 Incorrect 419 ms 5484 KB Output isn't correct
15 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 236 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory 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 1 ms 204 KB Output is correct
6 Correct 0 ms 204 KB Output is correct
7 Correct 0 ms 204 KB Output is correct
8 Correct 0 ms 204 KB Output is correct
9 Correct 1 ms 204 KB Output is correct
10 Correct 6 ms 372 KB Output is correct
11 Correct 343 ms 4988 KB Output is correct
12 Correct 318 ms 5024 KB Output is correct
13 Correct 276 ms 5372 KB Output is correct
14 Incorrect 419 ms 5484 KB Output isn't correct
15 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 236 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory 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 1 ms 204 KB Output is correct
6 Correct 0 ms 204 KB Output is correct
7 Correct 0 ms 204 KB Output is correct
8 Correct 0 ms 204 KB Output is correct
9 Correct 1 ms 204 KB Output is correct
10 Correct 6 ms 372 KB Output is correct
11 Correct 343 ms 4988 KB Output is correct
12 Correct 318 ms 5024 KB Output is correct
13 Correct 276 ms 5372 KB Output is correct
14 Incorrect 419 ms 5484 KB Output isn't correct
15 Halted 0 ms 0 KB -