/ SeriousOJ /

Record Detail

Wrong Answer


  
# Status Time Cost Memory Cost
#1 Accepted 2ms 540.0 KiB
#2 Accepted 4ms 572.0 KiB
#3 Wrong Answer 28ms 644.0 KiB
#4 Wrong Answer 26ms 540.0 KiB
#5 Wrong Answer 28ms 564.0 KiB
#6 Wrong Answer 27ms 540.0 KiB
#7 Wrong Answer 28ms 540.0 KiB
#8 Wrong Answer 46ms 568.0 KiB
#9 Wrong Answer 61ms 572.0 KiB
#10 Accepted 121ms 556.0 KiB
#11 Accepted 437ms 564.0 KiB
#12 Wrong Answer 426ms 568.0 KiB
#13 Wrong Answer 205ms 564.0 KiB
#14 Wrong Answer 214ms 572.0 KiB
#15 Wrong Answer 220ms 568.0 KiB
#16 Accepted 243ms 576.0 KiB
#17 Wrong Answer 213ms 568.0 KiB
#18 Wrong Answer 257ms 564.0 KiB
#19 Wrong Answer 223ms 540.0 KiB

Code

#include <bits/stdc++.h>
using namespace std;

#define all(v) v.begin(), v.end()

using LL = long long;

const int N = 101;

int main() {
  cin.tie (nullptr) -> ios_base :: sync_with_stdio (false);

  int tests;
  cin >> tests;
  while (tests--) {
    int n;
    cin >> n;
    vector <int> v (n);
    for (auto &i : v) cin >> i;
    int even = n / 2, odd = n - even, ans = 0;
    for (int i = 1; i <= N; i++) {
      for (int j = i; j <= N; j++) {
        int both = 0, left = 0, right = 0;
        for (int k = 0; k < n; k++) {
          if (v[k] % (i * j) == 0) both++;
          else if (v[k] % i == 0) left++;
          else if (v[k] % j == 0) right++;
        }
        if (left > right) swap (left, right);
        if (both >= max (0, even - left) + max (0, odd - right)) ans = max (ans, i + j);
      }
    }
    cout << ans << '\n';
  }

  return 0;
}

Information

Submit By
Type
Submission
Problem
P1076 Even Odd GCD (Easy Version)
Language
C++20 (G++ 13.2.0)
Submit At
2024-08-16 19:58:51
Judged At
2024-08-16 19:58:51
Judged By
Score
33
Total Time
437ms
Peak Memory
644.0 KiB