Hướng dẫn cho Quản lý phiên làm việc


Chỉ sử dụng khi thực sự cần thiết như một cách tôn trọng tác giả và người viết hướng dẫn này.

Chép code từ bài hướng dẫn để nộp bài là hành vi có thể dẫn đến khóa tài khoản.

Authors: lastcreate

Chỉ sử dụng khi thực sự cần thiết như một cách tôn trọng tác giả và người viết hướng dẫn này.

Chép code từ bài hướng dẫn để nộp bài là hành vi có thể dẫn đến khóa tài khoản.

💡 HINT / GỢI Ý GIẢI:

  • Bản chất bài toán: Thẻ lastcreate ban đầu bằng 0 và chỉ cập nhật khi gặp một ID lớn hơn giá trị hiện tại của nó. Điều này đồng nghĩa với việc lastcreate sẽ luôn giữ giá trị lớn nhất trong số các phần tử đã duyệt qua.
  • Kết luận: Giá trị cuối cùng của thẻ chính là giá trị lớn nhất (Maximum) của cả dãy số.
  • Thuật toán tối ưu: Khởi tạo biến max_val = 0, duyệt qua N phần tử, cập nhật max_val khi gặp số lớn hơn. Độ phức tạp thời gian: O(N), bộ nhớ: O(1).
C++
#include <iostream>

using namespace std;

int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);

    int n;
    if (!(cin >> n)) return 0;

    long long ans = 0;

    for (int i = 0; i < n; ++i) {
        long long x;
        cin >> x;
        if (x > ans) {
            ans = x;
        }
    }

    cout << ans << "\n";

    return 0;
}

Bình luận

Mới nhất
Tải bình luận...

Không có bình luận nào.