답안 #1020399

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1020399 2024-07-12T03:43:55 Z cpptowin Self Study (JOI22_ho_t2) C++17
10 / 100
93 ms 15184 KB
#include<bits/stdc++.h>
#define fo(i,l,r) for(int i = l; i <= r; i++)
#define fod(i,r,l) for(int i = r ; i >= l; i--)
#define int long long
#define maxn 1000010
#define N 1010
#define inf (int)1e12
#define pb emplace_back
#define all(x) x.begin(),x.end()
#define en cout << "\n";
#define ss(x) (int)x.size()
#define bitcount(x) __builtint_popcountll(x)
#define bit(x,i) ((x >> i) & 1)
#define onbit(x,i) (x | (1ll << i))
#define offbit(x,i) (x ^ (1ll << i))
#define lb(x) x & -x
#define pii pair<int,int>
#define vi vector<int>
#define vii vector<pii>
#define fi first
#define se second
bool maximize(int &a,int b)
{
    if(a <= b)
    {
        a = b;
        return 1;
    }
    return 0;
}
bool minimize(int &a,int b)
{
    if(a >= b)
    {
        a = b;
        return 1;
    }
    return 0;
}
using namespace std;
int n,m;
int a[maxn],b[maxn];
namespace sub3
{
    bool check(int x)
    {
        int r = 0;
        fo(i,1,n)
        {
            int val = x / a[i] + (x % a[i] > 0);
            if(val <= m) r += m - val;
            else
            {
                int cc = x - m * a[i];
                cc = cc / b[i] + (cc % b[i] > 0);
                r -= cc;
            }
        }
        return r >= 0;
    }
    void solve()
    {
        fo(i,1,n) a[i] = max(a[i],b[i]);
        int l = 0,r = inf,ans = 0;
        while(l <= r)
        {
            int mid = l + r >> 1;
            if(check(mid)) ans = mid,l = mid + 1;
            else r = mid - 1;
        }
        assert(ans < inf);
        cout << ans;
    }
}
main()
{
    #define name "TASK"
    if(fopen(name".inp","r"))
    {
        freopen(name".inp","r",stdin);
        freopen(name".out","w",stdout);
    }
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cin >> n >> m;
    fo(i,1,n) cin >> a[i];
    fo(i,1,n) cin >> b[i];
    sub3::solve();
}

Compilation message

Main.cpp: In function 'void sub3::solve()':
Main.cpp:67:25: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
   67 |             int mid = l + r >> 1;
      |                       ~~^~~
Main.cpp: At global scope:
Main.cpp:75:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
   75 | main()
      | ^~~~
Main.cpp: In function 'int main()':
Main.cpp:80:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   80 |         freopen(name".inp","r",stdin);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
Main.cpp:81:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   81 |         freopen(name".out","w",stdout);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 2392 KB Output is correct
2 Correct 1 ms 2396 KB Output is correct
3 Correct 1 ms 2396 KB Output is correct
4 Correct 0 ms 2508 KB Output is correct
5 Correct 1 ms 2396 KB Output is correct
6 Correct 1 ms 2392 KB Output is correct
7 Correct 1 ms 2396 KB Output is correct
8 Correct 0 ms 2396 KB Output is correct
9 Correct 0 ms 2396 KB Output is correct
10 Correct 2 ms 2392 KB Output is correct
11 Correct 86 ms 14400 KB Output is correct
12 Correct 80 ms 14560 KB Output is correct
13 Correct 79 ms 12628 KB Output is correct
14 Correct 80 ms 12628 KB Output is correct
15 Correct 1 ms 2392 KB Output is correct
16 Correct 77 ms 10012 KB Output is correct
17 Correct 93 ms 15184 KB Output is correct
18 Correct 83 ms 14672 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 2392 KB Output is correct
2 Correct 77 ms 10012 KB Output is correct
3 Correct 93 ms 15184 KB Output is correct
4 Correct 83 ms 14672 KB Output is correct
5 Correct 1 ms 2396 KB Output is correct
6 Correct 1 ms 2512 KB Output is correct
7 Correct 0 ms 2396 KB Output is correct
8 Correct 1 ms 2396 KB Output is correct
9 Correct 0 ms 2396 KB Output is correct
10 Correct 0 ms 2400 KB Output is correct
11 Correct 1 ms 2396 KB Output is correct
12 Correct 1 ms 2396 KB Output is correct
13 Correct 43 ms 9544 KB Output is correct
14 Correct 30 ms 8532 KB Output is correct
15 Correct 23 ms 8008 KB Output is correct
16 Correct 19 ms 5728 KB Output is correct
17 Correct 1 ms 2396 KB Output is correct
18 Runtime error 4 ms 4700 KB Execution killed with signal 6
19 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 2392 KB Output is correct
2 Correct 1 ms 2396 KB Output is correct
3 Correct 1 ms 2396 KB Output is correct
4 Correct 0 ms 2508 KB Output is correct
5 Correct 1 ms 2396 KB Output is correct
6 Correct 1 ms 2392 KB Output is correct
7 Correct 1 ms 2396 KB Output is correct
8 Correct 0 ms 2396 KB Output is correct
9 Correct 0 ms 2396 KB Output is correct
10 Correct 2 ms 2392 KB Output is correct
11 Correct 86 ms 14400 KB Output is correct
12 Correct 80 ms 14560 KB Output is correct
13 Correct 79 ms 12628 KB Output is correct
14 Correct 80 ms 12628 KB Output is correct
15 Correct 1 ms 2396 KB Output is correct
16 Correct 1 ms 2512 KB Output is correct
17 Correct 0 ms 2396 KB Output is correct
18 Correct 1 ms 2396 KB Output is correct
19 Correct 0 ms 2396 KB Output is correct
20 Correct 0 ms 2400 KB Output is correct
21 Correct 1 ms 2396 KB Output is correct
22 Correct 1 ms 2396 KB Output is correct
23 Correct 43 ms 9544 KB Output is correct
24 Correct 30 ms 8532 KB Output is correct
25 Correct 23 ms 8008 KB Output is correct
26 Correct 19 ms 5728 KB Output is correct
27 Correct 1 ms 2396 KB Output is correct
28 Runtime error 4 ms 4700 KB Execution killed with signal 6
29 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 2396 KB Output is correct
2 Correct 1 ms 2512 KB Output is correct
3 Correct 0 ms 2396 KB Output is correct
4 Correct 1 ms 2396 KB Output is correct
5 Correct 0 ms 2396 KB Output is correct
6 Correct 0 ms 2400 KB Output is correct
7 Correct 1 ms 2396 KB Output is correct
8 Correct 1 ms 2396 KB Output is correct
9 Correct 43 ms 9544 KB Output is correct
10 Correct 30 ms 8532 KB Output is correct
11 Correct 23 ms 8008 KB Output is correct
12 Correct 19 ms 5728 KB Output is correct
13 Correct 1 ms 2396 KB Output is correct
14 Runtime error 4 ms 4700 KB Execution killed with signal 6
15 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 2392 KB Output is correct
2 Correct 1 ms 2396 KB Output is correct
3 Correct 1 ms 2396 KB Output is correct
4 Correct 0 ms 2508 KB Output is correct
5 Correct 1 ms 2396 KB Output is correct
6 Correct 1 ms 2392 KB Output is correct
7 Correct 1 ms 2396 KB Output is correct
8 Correct 0 ms 2396 KB Output is correct
9 Correct 0 ms 2396 KB Output is correct
10 Correct 2 ms 2392 KB Output is correct
11 Correct 86 ms 14400 KB Output is correct
12 Correct 80 ms 14560 KB Output is correct
13 Correct 79 ms 12628 KB Output is correct
14 Correct 80 ms 12628 KB Output is correct
15 Correct 1 ms 2396 KB Output is correct
16 Correct 1 ms 2512 KB Output is correct
17 Correct 0 ms 2396 KB Output is correct
18 Correct 1 ms 2396 KB Output is correct
19 Correct 0 ms 2396 KB Output is correct
20 Correct 0 ms 2400 KB Output is correct
21 Correct 1 ms 2396 KB Output is correct
22 Correct 1 ms 2396 KB Output is correct
23 Correct 43 ms 9544 KB Output is correct
24 Correct 30 ms 8532 KB Output is correct
25 Correct 23 ms 8008 KB Output is correct
26 Correct 19 ms 5728 KB Output is correct
27 Correct 1 ms 2396 KB Output is correct
28 Runtime error 4 ms 4700 KB Execution killed with signal 6
29 Halted 0 ms 0 KB -