VT14 - Cặp đôi hoàn hảo (phiên bản 2)

Xem dạng PDF

Gửi bài giải


Điểm: 1,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C#, C++, Go, Java, Pascal, Perl, PHP, PyPy, Python, Ruby, Rust, Scratch, Swift

Cho mảng số nguyên ~A~ có ~n~ phần tử được nhập từ bàn phím. Hãy viết chương trình tìm 2 phần tử ở vị trí khác nhau trong mảng sao cho tích của 2 phần tử đó là lớn nhất. Sau đó, hãy in giá trị tích lớn nhất mà bạn tìm được lên màn hình

Input

  • Dòng 1 là số lượng phần tử của mảng ~n~
  • Dòng tiếp theo là ~n~ số nguyên tương ứng là các phần tử của mảng

Biết rằng

  • ~n \in N^*~ và  ~2 \le n \le 10^4~
  • ~|A_{i}| \le 10^4~

Output

Tích lớn nhất mà bạn tìm được

Sample

Input #1
5
1 2 3 4 5
Output #1
20

Bình luận

Please read the guidelines before commenting.



  • 0
    NguyenPX11  đã bình luận lúc 12, Tháng 4, 2026, 12:40

    include <bits/stdc++.h>

    define ll long long

    using namespace std; ll n,a[100011]; int main() { cin>>n; for(int i=0;i<n;i++){ cin>>a[i]; } ll gay=a[0]a[1]; for(int i=0;i<n-1;i++){ for(int j=i+1;j<n;j++){ ll gay1=a[i]a[j]; if(gay1>gay){ gay=gay1; } } } cout<<gay; return 0; }


  • 0
    nhankiettvt  đã bình luận lúc 29, Tháng 1, 2026, 8:36

    DỄ HƠN PHIÊN BẢN 1=))

    #include <bits/stdc++.h>
    using namespace std;
    using ll = long long;
    using ull = unsigned long long;
    
    int main()
    {
        ios::sync_with_stdio(false);
        cin.tie(nullptr);
        int n;cin >> n;
        vector<int> a(n);
        for (auto &i : a) cin >> i;
        sort(a.begin(),a.end(),greater<int>());
        cout << (a[0] * a[1] > a[n - 1] * a[n - 2] ? a[0] * a[1] : a[n - 1] * a[n - 2]);
        return 0;
    }
    

  • 0
    Haiquan  đã bình luận lúc 1, Tháng 12, 2025, 9:13

    anh em nhìn hộ mình cái cốt sao cứ sai 1 test ấy

    include <bits/stdc++.h>

    long long n; long long a[10001]; using namespace std; int main(){ cin>>n; for(int i=1;i<=n;i++) { cin>>a[i]; } sort(a+1,a+n+1); cout<<a[n]*a[n-1]; }


    • 0
      kietjumper  đã bình luận lúc 14, Tháng 1, 2026, 2:42

      Bạn phải lấy max của tích 2 phần tử đầu và cuối của mảng vì mảng có thể chứa số nguyên âm

       max(a[1]*a[2], a[n]*a[n-1])
      

  • -5
    ltc_tuan03  đã bình luận lúc 4, Tháng 11, 2025, 6:32 sửa 3

    Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.


  • -1
    quanghuy05  đã bình luận lúc 8, Tháng 8, 2025, 2:26

    với case số âm ae sort rồi so sánh tích 2 pt đầu và cuối là okee


  • -1
    super_god  đã bình luận lúc 8, Tháng 10, 2024, 2:49

    hello ae


  • -1
    quan2102  đã bình luận lúc 20, Tháng 12, 2023, 13:50

    testcase 8 la gi vay


  • -1
    24_Mingquan  đã bình luận lúc 18, Tháng 2, 2024, 12:21

    sory vote nham bn r


  • -1
    godcyber  đã bình luận lúc 6, Tháng 9, 2023, 9:13 sửa 2

    GỢI Ý: BÀI KHÔNG YÊU CẦU GIỮ NGUYÊN VỊ TRÍ PHẦN TỬ NHƯ VT13

    Cách làm:

    sort rồi ktra tích hai phần tử đầu và tích hai phần tử cuối cái nào lớn hơn thì cout


  • -1
    nightfury1409  đã bình luận lúc 31, Tháng 8, 2023, 0:25

    bài này sort xog so sánh 2 phần tử đầu tiên của mảng với 2 phần tử cuối mảng là ok


  • -5
    vuonghao  đã bình luận lúc 24, Tháng 8, 2023, 13:11

    Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.


  • 30
    Hiếu Nguyễn  đã bình luận lúc 21, Tháng 8, 2023, 14:42

    Thường là do truy xuất sai vùng nhớ em nhé, cụ thể trường hợp của em là cấp phát số lượng phần tử của mảng chỉ là 1000, trong khi bộ test đề bài yêu cầu tới ~10^4~, nên khi chạy chỉ số mảng trong for của em đã vượt quá phạm vi đã cấp phát.


    • 0
      Jett  đã bình luận lúc 22, Tháng 8, 2023, 3:47

      Em cảm ơn ạ!


  • -2
    bar190504  đã bình luận lúc 14, Tháng 8, 2023, 14:01

    test case 6 là gì vậy ạ


    • 0
      huyen33332025  đã bình luận lúc 19, Tháng 8, 2023, 17:01

      là dương âm âm (âm * âm = dương nên kết quả này lớn nhất nha bạn)