Bedao Mini Contest 13 - EXAM

View as PDF

Submit solution


Points: 0.10 (partial)
Time limit: 1.0s
Memory limit: 256M
Input: stdin
Output: stdout

Author:
Problem type
Allowed languages
C, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch

Lớp học Bedao đang phải cùng nhau làm một đề thi! Ở mỗi thời điểm, sẽ có hai khả năng xảy ra:

  • ~1\ x~ (~0 \le x \le 10^5~): Một học sinh mới gia nhập lớp học. Học sinh này sẽ có khả năng giải được bài thuộc dạng ~x~. Nếu ~x = 0~, học sinh này có thể giải được mọi dạng bài!

  • ~2\ x~ (~1 \le x \le 10^5~): Một bài tập thuộc dạng ~x~ được đưa vào đề thi, và lớp cần phải cử ra ngay một bạn để giải. Vì độ khó của bài tập, mỗi học sinh chỉ có thể giải được tối đa ~1~ bài trong khoảng thời gian thi.

Nếu không thể giải được toàn bộ bài tập, lớp Bedao sẽ không thể vượt qua đề kiểm tra. Hãy cho biết, các học sinh có thể giải được toàn bộ bài tập hay không?

Input

Mỗi test bao gồm nhiều test cases.

  • Dòng đầu tiên của input gồm số nguyên dương ~t~ (~1 \le t \le 10^5~) — số lượng test cases.
  • Dòng đầu tiên của mỗi test case gồm số nguyên dương ~q~ (~1 \le q \le 10^5~) — số sự kiện của bài toán.

  • Dòng thứ ~i~ trong ~q~ dòng tiếp theo của test case gồm hai số nguyên ~p~ (~1 \le p \le 2~), ~x~ (~0 \le x \le 10^5~) mô tả một trong hai sự kiện nêu ở đề bài.

Dữ liệu đã cho đảm bảo tổng của ~q~ ở tất cả các test cases sẽ không vượt quá ~5 \cdot 10^5~.

Output

  • Với mỗi test case, in ra ~\texttt{YES}~ nếu lớp học Bedao có thể giải được toàn bộ bài tập; ngược lại in ra ~\texttt{NO}~.

Sample Input 1

2
5
1 3
1 0
2 6
1 5
2 3
4
1 2
1 4
1 5
2 1

Sample Output 1

YES
NO

Note

Ở test case đầu tiên, các sự kiện xảy ra tuần tự như sau:

  • Một học sinh (A) có khả năng giải bài thuộc dạng ~3~ gia nhập lớp học.

  • Một học sinh (B) có khả năng giải mọi loại bài gia nhập lớp học.

  • Một bài tập thuộc dạng ~6~ được đưa vào đề thi. Bạn B được cử đi giải.

  • Một học sinh (C) có khả năng giải bài thuộc dạng ~5~ gia nhập lớp học.

  • Một bài tập thuộc dạng ~3~ được đưa vào đề thi. Bạn A được cử đi giải.

Ở test case thứ hai, một bài tập thuộc dạng ~1~ được đưa vào đề thi nhưng không ai có thể giải được.


Comments

Please read the guidelines before commenting.



  • -4
    nguyennhuhung   commented on Nov. 11, 2022, 3:51 p.m.

    Mọi người ơi cho e hỏi sao code của e bị sai vậy ạ, e cảm ơn ạ

    include<bits/stdc++.h>

    using namespace std; int main(){ int tc; cin >> tc; while(tc--){ int n; cin >> n; map<int, int> mp; bool ok = true; while(n--){ int kt, x; cin >> kt >> x; if(kt == 1){ if(mp.count(x) == 0) mp[x] = 1; else mp[x]++; } if(kt == 2){ if(mp.count(x) == 0 || mp[x] == 0){ if(mp.count(0) == 0 || mp[0] == 0){ ok = false; break; } else mp[0]--; } else mp[x]--; } } if(ok) cout << "YES" << endl; else cout << "NO" << endl; } return 0; }


    • 1
      K24NTDuc   commented on Jan. 25, 2023, 11:02 a.m.

      bạn bỏ break đi là được rồi nhé


  • -3
    Gao_Pink   commented on Nov. 5, 2022, 9:28 p.m. edited

    C++ sợ limit nhớ thêm cout.tie() ...


    • -1
      y   commented on Nov. 6, 2022, 5:51 p.m.

      ko cout.tie van ac ma