Submission #2818639


Source Code Expand

Copy
#include<bits/stdc++.h>

using namespace std;

using int64 = long long;

bool charange(vector< int > &A, vector< int > &B, int64 bit) {
  for(int k = 0; k < A.size(); k++) {
    bool dp[51] = {};
    dp[A[k]] = true;
    for(int i = 51; i > 0; i--) {
      if((bit >> i) & 1) {
        bool dp2[51];
        for(int j = 0; j < 51; j++) {
          dp2[j] = dp[j];
        }
        for(int j = 50; j >= 0; j--) {
          if(dp[j]) {
            dp2[j % i] = true;
          }
        }
        swap(dp, dp2);
      }
    }
    if(!dp[B[k]]) {
      return false;
    }
  }
  return true;
}

int main() {
  int N;
  cin >> N;
  vector< int > A(N), B(N);
  for(int i = 0; i < N; i++) {
    cin >> A[i];
  }
  for(int i = 0; i < N; i++) {
    cin >> B[i];
  }
  int64 ret = (1LL << 51) - 1;
  if(!charange(A, B, ret)) {
    cout << -1 << endl;
    return 0;
  }
  for(int i = 50; i >= 0; i--) {
    if(charange(A, B, ret ^ (1LL << i))) {
      ret ^= 1LL << i;
    }
  }
  cout << ret << endl;
}

Submission Info

Submission Time
Task C - Remainder Game
User ei13333
Language C++14 (GCC 5.4.1)
Score 700
Code Size 1050 Byte
Status
Exec Time 15 ms
Memory 384 KB

Judge Result

Set Name Score / Max Score Test Cases
Sample 0 / 0 s1.txt, s2.txt, s3.txt, s4.txt, s5.txt
All 700 / 700 01.txt, 02.txt, 03.txt, 04.txt, 05.txt, 06.txt, 07.txt, 08.txt, 09.txt, 10.txt, 11.txt, 12.txt, 13.txt, 14.txt, 15.txt, 16.txt, 17.txt, 18.txt, 19.txt, 20.txt, 21.txt, 22.txt, 23.txt, 24.txt, 25.txt, 26.txt, 27.txt, 28.txt, 29.txt, 30.txt, 31.txt, 32.txt, 33.txt, 34.txt, 35.txt, 36.txt, 37.txt, 38.txt, 39.txt, 40.txt, 41.txt, 42.txt, 43.txt, 44.txt, 45.txt, 46.txt, 47.txt, 48.txt, 49.txt, 50.txt, 51.txt, 52.txt, 53.txt, s1.txt, s2.txt, s3.txt, s4.txt, s5.txt
Case Name Status Exec Time Memory
01.txt 2 ms 256 KB
02.txt 9 ms 256 KB
03.txt 1 ms 256 KB
04.txt 6 ms 256 KB
05.txt 13 ms 256 KB
06.txt 6 ms 256 KB
07.txt 13 ms 256 KB
08.txt 1 ms 256 KB
09.txt 1 ms 256 KB
10.txt 1 ms 256 KB
11.txt 1 ms 256 KB
12.txt 6 ms 256 KB
13.txt 13 ms 256 KB
14.txt 9 ms 256 KB
15.txt 14 ms 256 KB
16.txt 10 ms 256 KB
17.txt 14 ms 256 KB
18.txt 10 ms 256 KB
19.txt 14 ms 256 KB
20.txt 11 ms 256 KB
21.txt 15 ms 256 KB
22.txt 11 ms 256 KB
23.txt 15 ms 384 KB
24.txt 12 ms 256 KB
25.txt 13 ms 256 KB
26.txt 12 ms 256 KB
27.txt 13 ms 256 KB
28.txt 13 ms 256 KB
29.txt 13 ms 256 KB
30.txt 13 ms 256 KB
31.txt 13 ms 256 KB
32.txt 1 ms 256 KB
33.txt 13 ms 256 KB
34.txt 4 ms 256 KB
35.txt 14 ms 256 KB
36.txt 4 ms 256 KB
37.txt 13 ms 256 KB
38.txt 4 ms 256 KB
39.txt 14 ms 256 KB
40.txt 4 ms 256 KB
41.txt 14 ms 256 KB
42.txt 5 ms 256 KB
43.txt 14 ms 256 KB
44.txt 8 ms 256 KB
45.txt 13 ms 256 KB
46.txt 8 ms 256 KB
47.txt 14 ms 256 KB
48.txt 7 ms 256 KB
49.txt 11 ms 256 KB
50.txt 7 ms 256 KB
51.txt 11 ms 256 KB
52.txt 7 ms 256 KB
53.txt 14 ms 256 KB
s1.txt 2 ms 256 KB
s2.txt 2 ms 256 KB
s3.txt 1 ms 256 KB
s4.txt 2 ms 256 KB
s5.txt 1 ms 256 KB