Submission #534125

# Submission time Handle Problem Language Result Execution time Memory
534125 2022-03-08T01:22:26 Z Paul_Liao_1457 Self Study (JOI22_ho_t2) C++17
0 / 100
423 ms 5060 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>

#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-=1ll*(A[i]*m);
            if(tmp<0){
                tmp=0;
            }
            else if(tmp>0){
                tmp=(tmp-1)/abs(B[i])+1;
            }
            res-=tmp;
        }
        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 1 ms 204 KB Output is correct
2 Correct 1 ms 204 KB Output is correct
3 Correct 0 ms 204 KB Output is correct
4 Correct 1 ms 204 KB Output is correct
5 Correct 0 ms 204 KB Output is correct
6 Correct 0 ms 204 KB Output is correct
7 Correct 1 ms 204 KB Output is correct
8 Correct 0 ms 204 KB Output is correct
9 Correct 0 ms 204 KB Output is correct
10 Correct 5 ms 336 KB Output is correct
11 Correct 316 ms 4968 KB Output is correct
12 Correct 331 ms 5060 KB Output is correct
13 Correct 253 ms 4888 KB Output is correct
14 Incorrect 423 ms 5016 KB Output isn't correct
15 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Output is correct
2 Correct 1 ms 288 KB Output is correct
3 Correct 1 ms 292 KB Output is correct
4 Correct 1 ms 204 KB Output is correct
5 Correct 1 ms 292 KB Output is correct
6 Correct 1 ms 204 KB Output is correct
7 Correct 0 ms 276 KB Output is correct
8 Correct 1 ms 300 KB Output is correct
9 Correct 166 ms 3268 KB Output is correct
10 Correct 114 ms 2592 KB Output is correct
11 Correct 81 ms 2192 KB Output is correct
12 Correct 66 ms 1804 KB Output is correct
13 Correct 1 ms 204 KB Output is correct
14 Correct 1 ms 300 KB Output is correct
15 Correct 1 ms 204 KB Output is correct
16 Correct 1 ms 304 KB Output is correct
17 Correct 1 ms 300 KB Output is correct
18 Incorrect 6 ms 332 KB Output isn't correct
19 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Output is correct
2 Correct 1 ms 204 KB Output is correct
3 Correct 0 ms 204 KB Output is correct
4 Correct 1 ms 204 KB Output is correct
5 Correct 0 ms 204 KB Output is correct
6 Correct 0 ms 204 KB Output is correct
7 Correct 1 ms 204 KB Output is correct
8 Correct 0 ms 204 KB Output is correct
9 Correct 0 ms 204 KB Output is correct
10 Correct 5 ms 336 KB Output is correct
11 Correct 316 ms 4968 KB Output is correct
12 Correct 331 ms 5060 KB Output is correct
13 Correct 253 ms 4888 KB Output is correct
14 Incorrect 423 ms 5016 KB Output isn't correct
15 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Output is correct
2 Correct 1 ms 288 KB Output is correct
3 Correct 1 ms 292 KB Output is correct
4 Correct 1 ms 204 KB Output is correct
5 Correct 1 ms 292 KB Output is correct
6 Correct 1 ms 204 KB Output is correct
7 Correct 0 ms 276 KB Output is correct
8 Correct 1 ms 300 KB Output is correct
9 Correct 166 ms 3268 KB Output is correct
10 Correct 114 ms 2592 KB Output is correct
11 Correct 81 ms 2192 KB Output is correct
12 Correct 66 ms 1804 KB Output is correct
13 Correct 1 ms 204 KB Output is correct
14 Correct 1 ms 300 KB Output is correct
15 Correct 1 ms 204 KB Output is correct
16 Correct 1 ms 304 KB Output is correct
17 Correct 1 ms 300 KB Output is correct
18 Incorrect 6 ms 332 KB Output isn't correct
19 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Output is correct
2 Correct 1 ms 204 KB Output is correct
3 Correct 0 ms 204 KB Output is correct
4 Correct 1 ms 204 KB Output is correct
5 Correct 0 ms 204 KB Output is correct
6 Correct 0 ms 204 KB Output is correct
7 Correct 1 ms 204 KB Output is correct
8 Correct 0 ms 204 KB Output is correct
9 Correct 0 ms 204 KB Output is correct
10 Correct 5 ms 336 KB Output is correct
11 Correct 316 ms 4968 KB Output is correct
12 Correct 331 ms 5060 KB Output is correct
13 Correct 253 ms 4888 KB Output is correct
14 Incorrect 423 ms 5016 KB Output isn't correct
15 Halted 0 ms 0 KB -