답안 #766402

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
766402 2023-06-25T15:40:19 Z HoriaHaivas Self Study (JOI22_ho_t2) C++14
0 / 100
0 ms 212 KB
/*
    "TLE is like the wind, always by my side"
    - Yasuo - 2022 -
*/
#include <bits/stdc++.h>
#define debug(x) cerr << #x << " " << x << "\n"
#define debugs(x) cerr << #x << " " << x << " "
#pragma GCC optimize("Ofast")
#define int long long

using namespace std;

int n,m,i,j,r,pas;
int a[300001];
int b[300001];

int courseneed(int val, int a, int b)
{
    int ans;
    ans=0;
    if (a*m<val)
    {
        ans+=m;
        val-=a*m;
        if (val%b==0)
            ans+=val/b;
        else
            ans+=val/b+1;
    }
    else
    {
        if (val%a==0)
            ans+=val/a;
        else
            ans+=val/a+1;
    }
    return ans;
}

bool possible(int minimum)
{
    int sum;
    sum=0;
    for (i=1;i<=n;i++)
    {
         sum+=courseneed(minimum,a[i],b[i]);
    }
    if (sum<=n*m)
        return 1;
    return 0;
}

signed main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    cin >> n >> m;
    for (i=1;i<=n;i++)
    {
         cin >> a[i];
    }
    for (i=1;i<=n;i++)
    {
         cin >> b[i];
    }
    for (i=1;i<=n;i++)
    {
         a[i]=max(a[i],b[i]);
    }
    r=0;
    pas=(1LL<<63);
    while (pas)
    {
         if (possible(r+pas))
             r+=pas;
         pas=pas/2;
    }
    cout << r;
}
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 212 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 212 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 212 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 212 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 212 KB Output isn't correct
2 Halted 0 ms 0 KB -