답안 #766448

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
766448 2023-06-25T16:29:21 Z HoriaHaivas Self Study (JOI22_ho_t2) C++14
0 / 100
1 ms 340 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,mid,l,r,pas;
int a[300005];
int b[300005];

int courseneed(int val, int course, int study)
{
    int ans;
    ans=0;
    if (course*m<val)
    {
        ans+=m;
        val-=course*m;
        if (val%study==0)
            ans+=val/study;
        else
            ans+=val/study+1;
    }
    else
    {
        if (val%course==0)
            ans+=val/course;
        else
            ans+=val/course+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]);
    }
    l=0;
    r=(1LL<<60);
    while (l<r)
    {
        mid=l+(r-l)/2;
        if (possible(mid))
            l=mid+1;
        else
            r=mid-1;
    }
    cout << l;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 340 KB Output is correct
2 Correct 1 ms 212 KB Output is correct
3 Correct 1 ms 212 KB Output is correct
4 Incorrect 0 ms 212 KB Output isn't correct
5 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Correct 1 ms 212 KB Output is correct
5 Correct 0 ms 212 KB Output is correct
6 Incorrect 0 ms 212 KB Output isn't correct
7 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 340 KB Output is correct
2 Correct 1 ms 212 KB Output is correct
3 Correct 1 ms 212 KB Output is correct
4 Incorrect 0 ms 212 KB Output isn't correct
5 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Correct 1 ms 212 KB Output is correct
5 Correct 0 ms 212 KB Output is correct
6 Incorrect 0 ms 212 KB Output isn't correct
7 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 340 KB Output is correct
2 Correct 1 ms 212 KB Output is correct
3 Correct 1 ms 212 KB Output is correct
4 Incorrect 0 ms 212 KB Output isn't correct
5 Halted 0 ms 0 KB -