Submission #1693972


Source Code Expand

#include <iostream>
#include <vector>

int n, k, max;
std::vector<int> box;

int gcd(int a, int b) {
  int tmp;
  if(a < b) {
    tmp = a;
    a = b;
    b = tmp;
  }
  while(b != 0) {
    tmp = a;
    a = b;
    b = tmp % b;
  }
  return a;
}

// O(N) 1<=N<=10^5
bool configurable(int x) {
  if(max < x)
    return false;

  int g = box[0];
  for(int i = 1; i < n && g != 1; i++) {
    g = gcd(g, box[i]);
  }
  return x % g == 0;
}

int main() {
  std::cin >> n;
  std::cin >> k;
  box.resize(n);

  int x;
  max = -1;
  for(int i = 0; i < n; i++) {
    std::cin >> x;
    box[i] = x;
    if(max < x)
      max = x;
  }

  if(configurable(k)) {
    std::cout << "POSSIBLE\n";
  } else {
    std::cout << "IMPOSSIBLE\n";
  }
  return 0;
}

Submission Info

Submission Time
Task A - Getting Difference
User harukamm
Language C++14 (GCC 5.4.1)
Score 300
Code Size 792 Byte
Status AC
Exec Time 54 ms
Memory 640 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 300 / 300
Status
AC × 4
AC × 19
Set Name Test Cases
Sample sample_01.txt, sample_02.txt, sample_03.txt, sample_04.txt
All sample_01.txt, sample_02.txt, sample_03.txt, sample_04.txt, sample_01.txt, sample_02.txt, sample_03.txt, sample_04.txt, subtask_1_01.txt, subtask_1_02.txt, subtask_1_03.txt, subtask_1_04.txt, subtask_1_05.txt, subtask_1_06.txt, subtask_1_07.txt, subtask_1_08.txt, subtask_1_09.txt, subtask_1_10.txt, subtask_1_11.txt
Case Name Status Exec Time Memory
sample_01.txt AC 1 ms 256 KB
sample_02.txt AC 1 ms 256 KB
sample_03.txt AC 1 ms 256 KB
sample_04.txt AC 1 ms 256 KB
subtask_1_01.txt AC 1 ms 256 KB
subtask_1_02.txt AC 1 ms 256 KB
subtask_1_03.txt AC 53 ms 640 KB
subtask_1_04.txt AC 54 ms 640 KB
subtask_1_05.txt AC 29 ms 512 KB
subtask_1_06.txt AC 9 ms 256 KB
subtask_1_07.txt AC 33 ms 512 KB
subtask_1_08.txt AC 47 ms 640 KB
subtask_1_09.txt AC 23 ms 384 KB
subtask_1_10.txt AC 38 ms 512 KB
subtask_1_11.txt AC 43 ms 512 KB