제출 #1329533

#제출 시각아이디문제언어결과실행 시간메모리
1329533shoryu386Self Study (JOI22_ho_t2)C++20
컴파일 에러
0 ms0 KiB
#include<bits/stdc++.h>
using namespace std;
typedef long long __int128;
typedef unsigned long long ull;
#define l(a, b, i) for (ll i = a; i < b; i++)
#define rl(a, b, i) for (ll i = a; i >= b; i--)
#define vpair vector<pair<ll, ll>>
#define inf LLONG_MAX
#define ninf LLONG_MIN

bool meow(ll X, ll N, ll M, vector<ll> &vecA, vector<ll> &vecB) {
    ll maxtotal = N * M; // tổng số lessons accross các môn
    ll cnt = 0; // nếu lát cnt > maxtotal thì false

    l(1, N + 1, i) {
        //ll cur = 0; // cur knowledge of this subject
        bool pon; // môn này có đi học k, hay pon :D
        if (vecB[i] >= vecA[i]) pon = true;
        else pon = false;

        if (pon) {
            ll days = (X + vecB[i] - 1) / vecB[i];
            cnt += days;
        }

        else if (!pon) {
            if (X > M * vecA[i]) {
                ll days = M;
                ll left = X - M * vecA[i];
                days += (left + vecB[i] - 1) / vecB[i];
                cnt += days;
            }

            else {
                ll days = (X + vecA[i] - 1) / vecA[i];
                cnt += days;
            }
        }
    }

    return (cnt <= maxtotal);
}

int main() {
    ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);

    //freopen("selfstudy.inp", "r", stdin);
    //freopen("selfstudy.out", "w", stdout);

    long long N, M; cin >> N >> M; vector<long long> vecA(N + 1, 0), vecB(N + 1, 0);
    l(1, N + 1, i) cin >> vecA[i];
    l(1, N + 1, i) cin >> vecB[i];

    ll lo = 1, hi = 1e18; long long ans = 0;
    while (lo <= hi) {
        ll mid = (lo + hi) / 2;

        if (meow(mid, N, M, vecA, vecB)) {
            ans = mid;
            lo = mid + 1;
        }
        else hi = mid - 1;
    }

    cout << ans;
}

컴파일 시 표준 에러 (stderr) 메시지

Main.cpp:3:19: error: declaration does not declare anything [-fpermissive]
    3 | typedef long long __int128;
      |                   ^~~~~~~~
Main.cpp:11:11: error: 'll' was not declared in this scope; did you mean 'ull'?
   11 | bool meow(ll X, ll N, ll M, vector<ll> &vecA, vector<ll> &vecB) {
      |           ^~
      |           ull
Main.cpp:11:17: error: 'll' was not declared in this scope; did you mean 'ull'?
   11 | bool meow(ll X, ll N, ll M, vector<ll> &vecA, vector<ll> &vecB) {
      |                 ^~
      |                 ull
Main.cpp:11:23: error: 'll' was not declared in this scope; did you mean 'ull'?
   11 | bool meow(ll X, ll N, ll M, vector<ll> &vecA, vector<ll> &vecB) {
      |                       ^~
      |                       ull
Main.cpp:11:36: error: 'll' was not declared in this scope; did you mean 'ull'?
   11 | bool meow(ll X, ll N, ll M, vector<ll> &vecA, vector<ll> &vecB) {
      |                                    ^~
      |                                    ull
Main.cpp:11:38: error: template argument 1 is invalid
   11 | bool meow(ll X, ll N, ll M, vector<ll> &vecA, vector<ll> &vecB) {
      |                                      ^
Main.cpp:11:38: error: template argument 2 is invalid
Main.cpp:11:41: error: 'vecA' was not declared in this scope
   11 | bool meow(ll X, ll N, ll M, vector<ll> &vecA, vector<ll> &vecB) {
      |                                         ^~~~
Main.cpp:11:54: error: 'll' was not declared in this scope; did you mean 'ull'?
   11 | bool meow(ll X, ll N, ll M, vector<ll> &vecA, vector<ll> &vecB) {
      |                                                      ^~
      |                                                      ull
Main.cpp:11:56: error: template argument 1 is invalid
   11 | bool meow(ll X, ll N, ll M, vector<ll> &vecA, vector<ll> &vecB) {
      |                                                        ^
Main.cpp:11:56: error: template argument 2 is invalid
Main.cpp:11:59: error: 'vecB' was not declared in this scope
   11 | bool meow(ll X, ll N, ll M, vector<ll> &vecA, vector<ll> &vecB) {
      |                                                           ^~~~
Main.cpp:11:63: error: expression list treated as compound expression in initializer [-fpermissive]
   11 | bool meow(ll X, ll N, ll M, vector<ll> &vecA, vector<ll> &vecB) {
      |                                                               ^
Main.cpp: In function 'int main()':
Main.cpp:5:25: error: 'll' was not declared in this scope; did you mean 'ull'?
    5 | #define l(a, b, i) for (ll i = a; i < b; i++)
      |                         ^~
Main.cpp:51:5: note: in expansion of macro 'l'
   51 |     l(1, N + 1, i) cin >> vecA[i];
      |     ^
Main.cpp:51:14: error: the value of 'N' is not usable in a constant expression
   51 |     l(1, N + 1, i) cin >> vecA[i];
      |              ^
Main.cpp:5:39: note: in definition of macro 'l'
    5 | #define l(a, b, i) for (ll i = a; i < b; i++)
      |                                       ^
Main.cpp:50:15: note: 'long long int N' is not const
   50 |     long long N, M; cin >> N >> M; vector<long long> vecA(N + 1, 0), vecB(N + 1, 0);
      |               ^
Main.cpp:51:14: error: the value of 'N' is not usable in a constant expression
   51 |     l(1, N + 1, i) cin >> vecA[i];
      |              ^
Main.cpp:5:39: note: in definition of macro 'l'
    5 | #define l(a, b, i) for (ll i = a; i < b; i++)
      |                                       ^
Main.cpp:50:15: note: 'long long int N' is not const
   50 |     long long N, M; cin >> N >> M; vector<long long> vecA(N + 1, 0), vecB(N + 1, 0);
      |               ^
Main.cpp:51:14: error: the value of 'N' is not usable in a constant expression
   51 |     l(1, N + 1, i) cin >> vecA[i];
      |              ^
Main.cpp:5:39: note: in definition of macro 'l'
    5 | #define l(a, b, i) for (ll i = a; i < b; i++)
      |                                       ^
Main.cpp:50:15: note: 'long long int N' is not const
   50 |     long long N, M; cin >> N >> M; vector<long long> vecA(N + 1, 0), vecB(N + 1, 0);
      |               ^
Main.cpp:51:14: error: the value of 'N' is not usable in a constant expression
   51 |     l(1, N + 1, i) cin >> vecA[i];
      |              ^
Main.cpp:5:39: note: in definition of macro 'l'
    5 | #define l(a, b, i) for (ll i = a; i < b; i++)
      |                                       ^
Main.cpp:50:15: note: 'long long int N' is not const
   50 |     long long N, M; cin >> N >> M; vector<long long> vecA(N + 1, 0), vecB(N + 1, 0);
      |               ^
Main.cpp:51:14: error: the value of 'N' is not usable in a constant expression
   51 |     l(1, N + 1, i) cin >> vecA[i];
      |              ^
Main.cpp:5:39: note: in definition of macro 'l'
    5 | #define l(a, b, i) for (ll i = a; i < b; i++)
      |                                       ^
Main.cpp:50:15: note: 'long long int N' is not const
   50 |     long long N, M; cin >> N >> M; vector<long long> vecA(N + 1, 0), vecB(N + 1, 0);
      |               ^
Main.cpp:51:14: error: the value of 'N' is not usable in a constant expression
   51 |     l(1, N + 1, i) cin >> vecA[i];
      |              ^
Main.cpp:5:39: note: in definition of macro 'l'
    5 | #define l(a, b, i) for (ll i = a; i < b; i++)
      |                                       ^
Main.cpp:50:15: note: 'long long int N' is not const
   50 |     long long N, M; cin >> N >> M; vector<long long> vecA(N + 1, 0), vecB(N + 1, 0);
      |               ^
Main.cpp:51:14: error: the value of 'N' is not usable in a constant expression
   51 |     l(1, N + 1, i) cin >> vecA[i];
      |              ^
Main.cpp:5:39: note: in definition of macro 'l'
    5 | #define l(a, b, i) for (ll i = a; i < b; i++)
      |                                       ^
Main.cpp:50:15: note: 'long long int N' is not const
   50 |     long long N, M; cin >> N >> M; vector<long long> vecA(N + 1, 0), vecB(N + 1, 0);
      |               ^
Main.cpp:51:14: error: the value of 'N' is not usable in a constant expression
   51 |     l(1, N + 1, i) cin >> vecA[i];
      |              ^
Main.cpp:5:39: note: in definition of macro 'l'
    5 | #define l(a, b, i) for (ll i = a; i < b; i++)
      |                                       ^
Main.cpp:50:15: note: 'long long int N' is not const
   50 |     long long N, M; cin >> N >> M; vector<long long> vecA(N + 1, 0), vecB(N + 1, 0);
      |               ^
Main.cpp:51:14: error: the value of 'N' is not usable in a constant expression
   51 |     l(1, N + 1, i) cin >> vecA[i];
      |              ^
Main.cpp:5:39: note: in definition of macro 'l'
    5 | #define l(a, b, i) for (ll i = a; i < b; i++)
      |                                       ^
Main.cpp:50:15: note: 'long long int N' is not const
   50 |     long long N, M; cin >> N >> M; vector<long long> vecA(N + 1, 0), vecB(N + 1, 0);
      |               ^
Main.cpp:51:17: error: 'i' was not declared in this scope
   51 |     l(1, N + 1, i) cin >> vecA[i];
      |                 ^
Main.cpp:5:35: note: in definition of macro 'l'
    5 | #define l(a, b, i) for (ll i = a; i < b; i++)
      |                                   ^
Main.cpp:5:25: error: 'll' was not declared in this scope; did you mean 'ull'?
    5 | #define l(a, b, i) for (ll i = a; i < b; i++)
      |                         ^~
Main.cpp:52:5: note: in expansion of macro 'l'
   52 |     l(1, N + 1, i) cin >> vecB[i];
      |     ^
Main.cpp:52:14: error: the value of 'N' is not usable in a constant expression
   52 |     l(1, N + 1, i) cin >> vecB[i];
      |              ^
Main.cpp:5:39: note: in definition of macro 'l'
    5 | #define l(a, b, i) for (ll i = a; i < b; i++)
      |                                       ^
Main.cpp:50:15: note: 'long long int N' is not const
   50 |     long long N, M; cin >> N >> M; vector<long long> vecA(N + 1, 0), vecB(N + 1, 0);
      |               ^
Main.cpp:52:14: error: the value of 'N' is not usable in a constant expression
   52 |     l(1, N + 1, i) cin >> vecB[i];
      |              ^
Main.cpp:5:39: note: in definition of macro 'l'
    5 | #define l(a, b, i) for (ll i = a; i < b; i++)
      |                                       ^
Main.cpp:50:15: note: 'long long int N' is not const
   50 |     long long N, M; cin >> N >> M; vector<long long> vecA(N + 1, 0), vecB(N + 1, 0);
      |               ^
Main.cpp:52:14: error: the value of 'N' is not usable in a constant expression
   52 |     l(1, N + 1, i) cin >> vecB[i];
      |              ^
Main.cpp:5:39: note: in definition of macro 'l'
    5 | #define l(a, b, i) for (ll i = a; i < b; i++)
      |                                       ^
Main.cpp:50:15: note: 'long long int N' is not const
   50 |     long long N, M; cin >> N >> M; vector<long long> vecA(N + 1, 0), vecB(N + 1, 0);
      |               ^
Main.cpp:52:14: error: the value of 'N' is not usable in a constant expression
   52 |     l(1, N + 1, i) cin >> vecB[i];
      |              ^
Main.cpp:5:39: note: in definition of macro 'l'
    5 | #define l(a, b, i) for (ll i = a; i < b; i++)
      |                                       ^
Main.cpp:50:15: note: 'long long int N' is not const
   50 |     long long N, M; cin >> N >> M; vector<long long> vecA(N + 1, 0), vecB(N + 1, 0);
      |               ^
Main.cpp:52:14: error: the value of 'N' is not usable in a constant expression
   52 |     l(1, N + 1, i) cin >> vecB[i];
      |              ^
Main.cpp:5:39: note: in definition of macro 'l'
    5 | #define l(a, b, i) for (ll i = a; i < b; i++)
      |                                       ^
Main.cpp:50:15: note: 'long long int N' is not const
   50 |     long long N, M; cin >> N >> M; vector<long long> vecA(N + 1, 0), vecB(N + 1, 0);
      |               ^
Main.cpp:52:14: error: the value of 'N' is not usable in a constant expression
   52 |     l(1, N + 1, i) cin >> vecB[i];
      |              ^
Main.cpp:5:39: note: in definition of macro 'l'
    5 | #define l(a, b, i) for (ll i = a; i < b; i++)
      |                                       ^
Main.cpp:50:15: note: 'long long int N' is not const
   50 |     long long N, M; cin >> N >> M; vector<long long> vecA(N + 1, 0), vecB(N + 1, 0);
      |               ^
Main.cpp:52:14: error: the value of 'N' is not usable in a constant expression
   52 |     l(1, N + 1, i) cin >> vecB[i];
      |              ^
Main.cpp:5:39: note: in definition of macro 'l'
    5 | #define l(a, b, i) for (ll i = a; i < b; i++)
      |                                       ^
Main.cpp:50:15: note: 'long long int N' is not const
   50 |     long long N, M; cin >> N >> M; vector<long long> vecA(N + 1, 0), vecB(N + 1, 0);
      |               ^
Main.cpp:52:14: error: the value of 'N' is not usable in a constant expression
   52 |     l(1, N + 1, i) cin >> vecB[i];
      |              ^
Main.cpp:5:39: note: in definition of macro 'l'
    5 | #define l(a, b, i) for (ll i = a; i < b; i++)
      |                                       ^
Main.cpp:50:15: note: 'long long int N' is not const
   50 |     long long N, M; cin >> N >> M; vector<long long> vecA(N + 1, 0), vecB(N + 1, 0);
      |               ^
Main.cpp:52:14: error: the value of 'N' is not usable in a constant expression
   52 |     l(1, N + 1, i) cin >> vecB[i];
      |              ^
Main.cpp:5:39: note: in definition of macro 'l'
    5 | #define l(a, b, i) for (ll i = a; i < b; i++)
      |                                       ^
Main.cpp:50:15: note: 'long long int N' is not const
   50 |     long long N, M; cin >> N >> M; vector<long long> vecA(N + 1, 0), vecB(N + 1, 0);
      |               ^
Main.cpp:52:17: error: 'i' was not declared in this scope
   52 |     l(1, N + 1, i) cin >> vecB[i];
      |                 ^
Main.cpp:5:35: note: in definition of macro 'l'
    5 | #define l(a, b, i) for (ll i = a; i < b; i++)
      |                                   ^
Main.cpp:54:5: error: 'll' was not declared in this scope; did you mean 'ull'?
   54 |     ll lo = 1, hi = 1e18; long long ans = 0;
      |     ^~
      |     ull
Main.cpp:55:12: error: 'lo' was not declared in this scope; did you mean 'log'?
   55 |     while (lo <= hi) {
      |            ^~
      |            log
Main.cpp:55:18: error: 'hi' was not declared in this scope
   55 |     while (lo <= hi) {
      |                  ^~
Main.cpp:56:11: error: expected ';' before 'mid'
   56 |         ll mid = (lo + hi) / 2;
      |           ^~~~
      |           ;
Main.cpp:58:18: error: 'mid' was not declared in this scope
   58 |         if (meow(mid, N, M, vecA, vecB)) {
      |                  ^~~
Main.cpp:58:17: error: 'meow' cannot be used as a function
   58 |         if (meow(mid, N, M, vecA, vecB)) {
      |             ~~~~^~~~~~~~~~~~~~~~~~~~~~~