Submission #1484367


Source Code Expand

#include <cstdint>
#include <iostream>

using namespace std;

static long long NUM_S;
static long long NUM_C;

static bool can_create(long long num)
{
  if ((NUM_S - num) >= 0) {
    if (NUM_C >= 2 * num) {
      return true;
    }
  } else {
    if (NUM_C >= (2 * (num - NUM_S) + 2 * num)) {
      return true;
    }
  }

  return false;
}

int32_t main()
{
  cin >> NUM_S >> NUM_C;

  long long count = (NUM_C / 2) + 1;

  long long left = 0, right = count;
  while (true) {
    if (right <= left + 1) break;
    long long mid = (left + right) / 2;
    if (can_create(mid)) {
      left = mid;
    } else {
      right = mid;
    }
  }

  cout << left << endl;

  return 0;
}

Submission Info

Submission Time
Task C - Scc Puzzle
User mohei
Language C++14 (GCC 5.4.1)
Score 300
Code Size 722 Byte
Status AC
Exec Time 1 ms
Memory 256 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 1 ms 256 KB
00_example_02.txt AC 1 ms 256 KB
01.txt AC 1 ms 256 KB
02.txt AC 1 ms 256 KB
03.txt AC 1 ms 256 KB
04.txt AC 1 ms 256 KB
05.txt AC 1 ms 256 KB
06.txt AC 1 ms 256 KB
07.txt AC 1 ms 256 KB