답안 #534132

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
534132 2022-03-08T01:27:13 Z Paul_Liao_1457 Self Study (JOI22_ho_t2) C++17
0 / 100
412 ms 5872 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=m;
            used-=(tmp-1)/A[i]+1;
            res+=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;
}
# 결과 실행 시간 메모리 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 1 ms 204 KB Output is correct
5 Correct 0 ms 204 KB Output is correct
6 Correct 1 ms 332 KB Output is correct
7 Correct 1 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 5 ms 380 KB Output is correct
11 Correct 330 ms 5724 KB Output is correct
12 Correct 331 ms 5872 KB Output is correct
13 Correct 257 ms 5640 KB Output is correct
14 Incorrect 412 ms 5788 KB Output isn't correct
15 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 296 KB Output is correct
4 Correct 1 ms 204 KB Output is correct
5 Correct 0 ms 296 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 164 ms 3772 KB Output is correct
10 Correct 114 ms 3008 KB Output is correct
11 Correct 89 ms 2260 KB Output is correct
12 Correct 64 ms 1900 KB Output is correct
13 Correct 1 ms 204 KB Output is correct
14 Correct 1 ms 204 KB Output is correct
15 Correct 1 ms 300 KB Output is correct
16 Correct 0 ms 304 KB Output is correct
17 Correct 1 ms 204 KB Output is correct
18 Incorrect 6 ms 332 KB Output isn't correct
19 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 1 ms 204 KB Output is correct
5 Correct 0 ms 204 KB Output is correct
6 Correct 1 ms 332 KB Output is correct
7 Correct 1 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 5 ms 380 KB Output is correct
11 Correct 330 ms 5724 KB Output is correct
12 Correct 331 ms 5872 KB Output is correct
13 Correct 257 ms 5640 KB Output is correct
14 Incorrect 412 ms 5788 KB Output isn't correct
15 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 296 KB Output is correct
4 Correct 1 ms 204 KB Output is correct
5 Correct 0 ms 296 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 164 ms 3772 KB Output is correct
10 Correct 114 ms 3008 KB Output is correct
11 Correct 89 ms 2260 KB Output is correct
12 Correct 64 ms 1900 KB Output is correct
13 Correct 1 ms 204 KB Output is correct
14 Correct 1 ms 204 KB Output is correct
15 Correct 1 ms 300 KB Output is correct
16 Correct 0 ms 304 KB Output is correct
17 Correct 1 ms 204 KB Output is correct
18 Incorrect 6 ms 332 KB Output isn't correct
19 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 1 ms 204 KB Output is correct
5 Correct 0 ms 204 KB Output is correct
6 Correct 1 ms 332 KB Output is correct
7 Correct 1 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 5 ms 380 KB Output is correct
11 Correct 330 ms 5724 KB Output is correct
12 Correct 331 ms 5872 KB Output is correct
13 Correct 257 ms 5640 KB Output is correct
14 Incorrect 412 ms 5788 KB Output isn't correct
15 Halted 0 ms 0 KB -