Vị trí số âm

Xem PDF



Tác giả:
Dạng bài
Ngôn ngữ cho phép
C#, C++, Clang, Clang++, Cobol, D, Groovy, Haskell, Java, JS, Kotlin, Lua, Node JS, ObjectiveC, OCaml, Output, PHP, Prolog, Pypy, Pypy 3, Ruby, Rust, Scala, Scratch, Swift
Điểm: 100 (p) Thời gian: 10.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Nhập vào một dãy \(N\) số nguyên \(A_1,A_2,...,A_N\) (\(N \leq 10000, |A_i| \leq 10^9\)).

Hãy in ra màn hình chỉ số phần tử âm đầu tiên và cuối cùng.

Input

  • Dòng đầu tiên chứa số \(N\),
  • Dòng thứ 2 chứa \(N\) số nguyên \(A_1,A_2,...,A_N\).

Output

  • In ra chỉ số phần tử âm đầu tiên và cuối cùng, nếu ko có phần tử âm nào thì in ra 2 số \(-1\ -1\),

Example

Test 1

Input
7
7 -6 -4 19 -22 51 -82
Output
2 7

Bình luận

  • masara815 8:31 p.m. 15 Tháng 2, 2025
    #include <bits/stdc++.h>
    using namespace std;
    
    int main() {
    
        int n;
        vector<int> vector(n); 
        for (int i = 0; i < n; i++) {
            cin >> vector[i];
        }
    
        // Khai báo minIndex và maxIndex để lưu vị trí đầu tiên và cuối cùng của phần tử âm
        int minIndex = -2, maxIndex = -2;  // Khởi tạo giá trị ban đầu là -2 (một giá trị không hợp lệ)
    
        // Duyệt qua tất cả các phần tử của vector
        for (int i = 0; i < n; i++) {
            // Nếu phần tử tại vị trí i là số âm
            if (vector[i] < 0) {
                // Nếu chưa có phần tử âm nào được tìm thấy (minIndex == -2)
                if (minIndex == -2) {
                    minIndex = i;  // Cập nhật minIndex là vị trí của phần tử âm đầu tiên
                    maxIndex = i;  // Cập nhật maxIndex là vị trí của phần tử âm đầu tiên
                }
                else {
                    maxIndex = i;  // Cập nhật maxIndex là vị trí của phần tử âm gần nhất
                }
            }
        }
    
        // +1 vì yêu cầu đề bài sử dụng chỉ số mảng bắt đầu từ 1
        cout << minIndex + 1 << " ";  // In ra vị trí đầu tiên của phần tử âm (được cộng 1 để theo yêu cầu)
        cout << maxIndex + 1;  // In ra vị trí cuối cùng của phần tử âm (được cộng 1 để theo yêu cầu)
    }
    
    • 3 bình luận nữa