Submission #1481242


Source Code Expand

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import sys
import re
import math
import collections
import itertools
import functools

DEBUG = True
DEBUG = False

def dbg(*args):
    if DEBUG:
        print("DBG: ", file=sys.stderr, end="")
        print(*args, file=sys.stderr)


def possible(N, M, k):
    if N >= k:
        return M >= 2*k
    else:
        M -= 2*(k-N)
        return M >= 2*k

def main():
    N, M = map(int, input().split())

    # cc -> S はできるが S -> cc はできない

    # [lo, hi)
    # lo では必ず可能、hiでは必ず不可能
    hi = M // 2 + 1
    lo = M // 4
    while hi - lo > 1:
        mid = (hi + lo) // 2
        if possible(N, M, mid):
            lo = mid
        else:
            hi = mid

    print(lo)

if __name__ == "__main__": main()

Submission Info

Submission Time
Task C - Scc Puzzle
User yumsiim
Language Python (3.4.3)
Score 300
Code Size 844 Byte
Status AC
Exec Time 30 ms
Memory 3956 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 300 / 300
Status
AC × 2
AC × 9
Set Name Test Cases
Sample 00_example_01.txt, 00_example_02.txt
All 00_example_01.txt, 00_example_02.txt, 01.txt, 02.txt, 03.txt, 04.txt, 05.txt, 06.txt, 07.txt
Case Name Status Exec Time Memory
00_example_01.txt AC 30 ms 3956 KB
00_example_02.txt AC 25 ms 3828 KB
01.txt AC 24 ms 3828 KB
02.txt AC 24 ms 3828 KB
03.txt AC 24 ms 3828 KB
04.txt AC 25 ms 3828 KB
05.txt AC 24 ms 3828 KB
06.txt AC 24 ms 3828 KB
07.txt AC 24 ms 3828 KB