Submission #5817664


Source Code Expand

import std.functional,
       std.algorithm,
       std.typecons,
       std.bigint,
       std.string,
       std.traits,
       std.array,
       std.range,
       std.stdio,
       std.conv,
       std.math;

N gcd(N)(N a, N b) if (isNumeric!N || is (N == Biglong)) { return a ? gcd(b % a, a) : b; }
T read_num(T)() { return readln.chomp.to!T; }
T[] read_nums(T)() { return readln.chomp.split.to!(T[]); }
bool chmax(T)(ref T a, T b) {
  if (a < b) {
    a = b;
    return true;
  } else {
    return false;
  }
}

void main() {
  long N = read_num!long;
  long[] A = read_nums!long;
  long ans = -1;
  long[] L, R;
  L.length = N;
  R.length = N;

  L[0] = A[0];
  for (size_t i = 1; i < N; i++) {
    L[i] = gcd(L[i - 1], A[i]);
  }
  R[N - 1] = A[N - 1];
  for (size_t i = N - 2; i > 0; i--) {
    R[i] = gcd(R[i + 1], A[i]);
  }

  foreach (i; 0..N) {
    long l = i > 0 ? L[i - 1] : 0;
    long r = i < N - 1 ? R[i + 1] : 0;
    chmax(ans, gcd(l, r));
  }

  writeln(ans);
}

Submission Info

Submission Time
Task C - GCD on Blackboard
User alphaKAI
Language D (DMD64 v2.070.1)
Score 300
Code Size 1029 Byte
Status AC
Exec Time 32 ms
Memory 7240 KiB

Judge Result

Set Name All Sample
Score / Max Score 300 / 300 0 / 0
Status
AC × 16
AC × 3
Set Name Test Cases
All sample_01, sample_02, sample_03, testcase_01, testcase_02, testcase_03, testcase_04, testcase_05, testcase_06, testcase_07, testcase_08, testcase_09, testcase_10, testcase_11, testcase_12, testcase_13
Sample sample_01, sample_02, sample_03
Case Name Status Exec Time Memory
sample_01 AC 1 ms 256 KiB
sample_02 AC 1 ms 256 KiB
sample_03 AC 1 ms 256 KiB
testcase_01 AC 18 ms 3604 KiB
testcase_02 AC 30 ms 6568 KiB
testcase_03 AC 1 ms 256 KiB
testcase_04 AC 32 ms 7240 KiB
testcase_05 AC 16 ms 6908 KiB
testcase_06 AC 29 ms 5928 KiB
testcase_07 AC 1 ms 256 KiB
testcase_08 AC 1 ms 256 KiB
testcase_09 AC 23 ms 6688 KiB
testcase_10 AC 26 ms 6616 KiB
testcase_11 AC 25 ms 4996 KiB
testcase_12 AC 2 ms 508 KiB
testcase_13 AC 1 ms 256 KiB