Submission #534121

# Submission time Handle Problem Language Result Execution time Memory
534121 2022-03-08T01:20:28 Z Paul_Liao_1457 Self Study (JOI22_ho_t2) C++17
10 / 100
350 ms 5392 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]; a[i]=abs(a[i]);
    }
    FOR(i,0,n){
        cin>>b[i]; b[i]=abs(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 296 KB Output is correct
3 Correct 1 ms 204 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 1 ms 204 KB Output is correct
8 Correct 1 ms 204 KB Output is correct
9 Correct 1 ms 204 KB Output is correct
10 Correct 5 ms 440 KB Output is correct
11 Correct 308 ms 5316 KB Output is correct
12 Correct 314 ms 5316 KB Output is correct
13 Correct 274 ms 5392 KB Output is correct
14 Correct 346 ms 5248 KB Output is correct
15 Correct 1 ms 204 KB Output is correct
16 Correct 265 ms 5216 KB Output is correct
17 Correct 350 ms 5348 KB Output is correct
18 Correct 308 ms 5228 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Output is correct
2 Correct 265 ms 5216 KB Output is correct
3 Correct 350 ms 5348 KB Output is correct
4 Correct 308 ms 5228 KB Output is correct
5 Incorrect 1 ms 300 KB Output isn't correct
6 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Output is correct
2 Correct 1 ms 296 KB Output is correct
3 Correct 1 ms 204 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 1 ms 204 KB Output is correct
8 Correct 1 ms 204 KB Output is correct
9 Correct 1 ms 204 KB Output is correct
10 Correct 5 ms 440 KB Output is correct
11 Correct 308 ms 5316 KB Output is correct
12 Correct 314 ms 5316 KB Output is correct
13 Correct 274 ms 5392 KB Output is correct
14 Correct 346 ms 5248 KB Output is correct
15 Incorrect 1 ms 300 KB Output isn't correct
16 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 300 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Output is correct
2 Correct 1 ms 296 KB Output is correct
3 Correct 1 ms 204 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 1 ms 204 KB Output is correct
8 Correct 1 ms 204 KB Output is correct
9 Correct 1 ms 204 KB Output is correct
10 Correct 5 ms 440 KB Output is correct
11 Correct 308 ms 5316 KB Output is correct
12 Correct 314 ms 5316 KB Output is correct
13 Correct 274 ms 5392 KB Output is correct
14 Correct 346 ms 5248 KB Output is correct
15 Incorrect 1 ms 300 KB Output isn't correct
16 Halted 0 ms 0 KB -