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
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; }
DỄ HƠN PHIÊN BẢN 1=))
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]; }
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
Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.
với case số âm ae sort rồi so sánh tích 2 pt đầu và cuối là okee
hello ae
testcase 8 la gi vay
sory vote nham bn r
GỢI Ý: BÀI KHÔNG YÊU CẦU GIỮ NGUYÊN VỊ TRÍ PHẦN TỬ NHƯ VT13
Cách làm:
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
Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.
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.
Em cảm ơn ạ!
test case 6 là gì vậy ạ
là dương âm âm (âm * âm = dương nên kết quả này lớn nhất nha bạn)