Số Chẵn Lớn Nhất

Xem PDF

Điểm: 800 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Cho số nguyên dương \(n\) và dãy số \(a_{1}, a_{2}, \ldots, a_{n}\).

Yêu cầu: Bạn hãy xác định xem liệu có tồn tại hai phần tử khác nhau sao cho tổng của chúng là số chẵn hay không. Nếu có bạn hãy in ra số chẵn lớn nhất có thể.

Hai phần tử \(a_{i}\)\(a_{j}\) được gọi là khác nhau nếu \(i \neq j\).

Input

  • Dòng đầu tiên chứa số nguyên dương \(n\) \((2 \leq n \leq 10^{6})\).
  • Dòng thứ hai chứa dãy số \(a_{1}, a_{2}, \ldots, a_{n}\) \((0 \leq a_{i} \leq 10^{9})\). Các số cách nhau một khoảng trắng.
  • Dữ liệu vào đảm bảo rằng tất cả các phần tử trong dãy đều đôi một khác nhau.

Output

  • In ra đáp án bài toán sau khi thực hiện yêu cầu đề bài. Nếu không tồn tại hai phần tử thỏa mãn yêu cầu đề bài hãy in ra \(-1\).

Scoring

  • Subtask \(1\) (\(30\%\) số điểm): \(n \leq 5000\).
  • Subtask \(2\) (\(70\%\) số điểm): Không có ràng buộc gì thêm.

Example

Test 1

Input
3
2 3 4
Output
6
Note

\(a_1 + a_2 = 2 + 3 = 5\)
\(a_1 + a_3 = 2 + 4 = 6\)
\(a_2 + a_3 = 3 + 4 = 7\)
Vậy \(6\) là số chẵn lớn nhất thỏa mãn yêu cầu đề bài.


Bình luận


  • -5
    thaytruyenductri    10:19 a.m. 7 Tháng 10, 2023

    Bình luận bị ẩn vì nhiều phản hồi tiêu cực. Nhấp vào đây để mở.


    • 0
      Owen    8:35 p.m. 22 Tháng 8, 2024

      còn trường hợp ko cs 2 phần tử thảo mãi điều kiện thì print ra -1 nx bn , bn fix lại đi


      • 2
        cltmbao2011    10:02 a.m. 29 Tháng 10, 2023 đã chỉnh sửa

        n = int(input())
        a = list(map(int, input().split()))
        even = []
        odd = []
        for i in a:
            if i%2==0:
                even.append(i)
            else:
                odd.append(i)
        if len(even)**==**1:
            EvenMax = even
        else:
            even.sort()
            EvenMax = **odd**[-1]+**odd**[-2]
        if len(odd)**==**1:
            OddMax = odd
        else:
            odd.sort()
            OddMax = odd[-1]+odd[-2]
        print(int(max(OddMax, EvenMax)))
        

        Bạn sai do lộn list thôi
        Với lại có trường hợp không có số nào


        • 3
          cltmbao2011    9:59 a.m. 29 Tháng 10, 2023 đã chỉnh sửa

          n = int(input())
          a = list(map(int, input().split()))
          even = []
          odd = []
          for i in a:
              if i%2==0:
                  even.append(i)
              else:
                  odd.append(i)
          if len(even)<2:
              EvenMax = -1
          else:
              even.sort()
              EvenMax = even[-1]+even[-2]
          if len(odd)<2:
              OddMax = -1
          else:
              odd.sort()
              OddMax = odd[-1]+odd[-2]
          print(int(max(OddMax, EvenMax)))
          

          Sửa lại rồi nha bạn

        4 bình luận nữa