Submission #1114450


Source Code Expand

#include <iostream>
using namespace std;
int64_t N, M;

bool check(int64_t k) {
  int64_t s = N, c = M;
  c -= k * 2;
  s += c / 2;
  s -= k;
  return (s >= 0 && c >= 0);
}
int main() {
  cin >> N >> M;
  int64_t low = 0, high = 1LL<<60;
  while(low + 1 < high) {
    int64_t mid = (low + high) / 2;
    if(check(mid)) {
      low = mid;
    }else {
      high = mid;
    }
  }
  cout << low << endl;
  return 0;
}

Submission Info

Submission Time
Task C - Scc Puzzle
User staka
Language C++14 (GCC 5.4.1)
Score 300
Code Size 438 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