ABC-c求调
  • 板块灌水区
  • 楼主_colin1112_
  • 当前回复4
  • 已保存回复4
  • 发布时间2024/1/27 21:51
  • 上次更新2024/1/28 08:02:34
查看原帖
ABC-c求调
904032
_colin1112_楼主2024/1/27 21:51

rt,暴力打挂了()

#include <bits/stdc++.h>
#define ll long long
#define endl '\n'

using namespace std;
const int E = 1e6 + 5;
ll n;
int main()
{
    cin >> n;
    vector<int> q(n), a(n), b(n);
    for (int i = 0; i < n; ++i)
        cin >> q[i];
    for (int i = 0; i < n; ++i)
        cin >> a[i];
    for (int i = 0; i < n; ++i)
        cin >> b[i];
    ll max1 = 0;
    vector<ll> x(n);
    for (int i = 0; i <= 1000000; ++i)
    {
        ll l = 0, r = 1e6;
        ll j = 0;
        auto check = [&](ll i, ll j) -> ll
        {
            for (int k = 0; k < n; ++k)
                x[k] = (a[k] * i + b[k] * j);
            bool flag = 1;
            for (int k = 0; k < n; k++)
                if (x[k] > q[k])
                {
                    flag = 0;
                    break;
                }
            return flag;
        };
        while (l <= r)
        {
            ll mid = l + r >> 1;
            if (check(i, mid))
                j = mid, l = mid + 1;
            else
                r = mid - 1;
        }
        if (j != 0)
            max1 = i + j;
    }
    cout << max1 << endl;
    return 0;
}
2024/1/27 21:51
加载中...