Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

C++: Thời gian xem TV trước khi tắt do chán

Bài toán: Trận đấu 90 phút. Mảng A lưu các phút "thú vị". Nếu 15 phút liên tiếp không có phút thú vị → tắt TV. Tính thời gian xem.

Giải pháp: Duyệt A (đã sort). Nếu khoảng cách 2 phần tử liên tiếp > 15 → dừng tại prev + 15. Giới hạn max 90.

Code C++

#include <bits/stdc++.h>
using namespace std;

int solve(vector<int> A) {
    int prev = 0;
    for (int t : A) {
        if (t - prev > 15) break;
        prev = t;
    }
    return min(prev + 15, 90);
}

int main() {
    vector<int> A = {7, 20, 88};
    cout << solve(A) << endl; // 35
    return 0;
}

Kết quả

35

Giải thích: 7→20 (khoảng 13 ≤15), 20→88 (khoảng 68 >15) → dừng ở 20+15=35.