답안 #534118

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
534118 2022-03-08T01:19:56 Z Paul_Liao_1457 Self Study (JOI22_ho_t2) C++17
0 / 100
409 ms 4968 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){
                tmp=(tmp-1)/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;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 1 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 0 ms 204 KB Output is correct
10 Correct 5 ms 332 KB Output is correct
11 Correct 304 ms 4968 KB Output is correct
12 Correct 279 ms 4968 KB Output is correct
13 Correct 248 ms 4964 KB Output is correct
14 Incorrect 409 ms 4868 KB Output isn't correct
15 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 1 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 0 ms 204 KB Output is correct
10 Correct 5 ms 332 KB Output is correct
11 Correct 304 ms 4968 KB Output is correct
12 Correct 279 ms 4968 KB Output is correct
13 Correct 248 ms 4964 KB Output is correct
14 Incorrect 409 ms 4868 KB Output isn't correct
15 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 1 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 0 ms 204 KB Output is correct
10 Correct 5 ms 332 KB Output is correct
11 Correct 304 ms 4968 KB Output is correct
12 Correct 279 ms 4968 KB Output is correct
13 Correct 248 ms 4964 KB Output is correct
14 Incorrect 409 ms 4868 KB Output isn't correct
15 Halted 0 ms 0 KB -