Bằng cách nhấp vào Đăng nhập, bạn đồng ý Chính sách bảo mật và Điều khoản sử dụng của chúng tôi. Nếu đây không phải máy tính của bạn, để đảm bảo an toàn, hãy sử dụng Cửa sổ riêng tư (Tab ẩn danh) để đăng nhập (New Private Window / New Incognito Window).
Hàm lower_bound và upper_bound trong C++ sẽ trả về một iterator, không phải một chỉ số. Do đó, khi bạn trừ đi a (địa chỉ của phần tử đầu tiên của mảng), bạn sẽ nhận được chỉ số của phần tử mà iterator đang trỏ đến. Điều này có thể gây ra lỗi nếu bạn không cẩn thận.
Trong hàm sub1, bạn có hai đoạn mã giống hệt nhau, một cho trường hợp k==0 và một cho trường hợp k!=0. Bạn có thể cố gắng tối ưu hóa đoạn mã này.
Bạn nên kiểm tra lại điều kiện if(t<=n && a[t]==k-a[i]) và if(t<=n && a[t]==-k-a[i]). Bạn đang so sánh a[t] với k-a[i] và -k-a[i], nhưng t có thể vượt quá n nếu k-a[i] lớn hơn tất cả các phần tử trong mảng.
Đảm bảo rằng bạn đã khởi tạo tất cả các biến và mảng một cách chính xác.
Hôm nay bạn thế nào? Hãy nhấp vào một lựa chọn, nếu may mắn bạn sẽ được tặng 50.000 xu từ Lazi
Vui | Buồn | Bình thường |