149352025-02-08 15:25:30miszorimarciSakktábla (75 pont)cpp17Accepted 75/751ms508 KiB
#include <bits/stdc++.h>
using namespace std;

#define int long long

int N, M;

bool check(int X)
{
    if(X % 2 == 0)
    {
        if(N >= (X*X)/2 && M >= (X*X)/2)return 1;
        else return 0;
    }
    {
        if(min(N, M) >= (X*X)/2 && max(N, M) >= (X*X)/2 + 1)return 1;
        else return 0;
    }
}


signed main() {
	cin >> N >> M;
    int l = 1, r = 1e6;
    while(l < r - 1)
    {
        int mid = (l + r)/2;
        if(check(mid))l = mid;
        else r = mid;
    }
    cout << l;
}
SubtaskSumTestVerdictTimeMemory
base75/75
1Accepted0/01ms316 KiB
2Accepted0/01ms316 KiB
3Accepted5/51ms508 KiB
4Accepted5/51ms316 KiB
5Accepted5/51ms316 KiB
6Accepted5/51ms316 KiB
7Accepted5/51ms316 KiB
8Accepted5/51ms316 KiB
9Accepted5/51ms316 KiB
10Accepted5/51ms316 KiB
11Accepted7/71ms500 KiB
12Accepted7/71ms316 KiB
13Accepted7/71ms316 KiB
14Accepted7/71ms316 KiB
15Accepted7/71ms316 KiB