QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#21305#2815. 组合数据结构问题DoorKickers#AC ✓38ms5988kbC++201.8kb2022-03-04 14:52:082022-05-08 02:51:45

Judging History

你现在查看的是最新测评结果

  • [2023-08-10 23:21:45]
  • System Update: QOJ starts to keep a history of the judgings of all the submissions.
  • [2022-05-08 02:51:45]
  • 评测
  • 测评结果:AC
  • 用时:38ms
  • 内存:5988kb
  • [2022-03-04 14:52:08]
  • 提交

answer

#include <bits/stdc++.h>
using namespace std;
#define int long long
signed main() {
    int n; cin >> n;
    multiset<int> value;
    stack<int> st;
    queue<int> q;
    bool fl, fl_, fl__, fl___;
    fl = fl_ = fl__ = fl___ = 1;
    for (int i = 1; i <= n; i++) {
        int op, v;
        cin >> op >> v;
        if (op == 1) {
            q.push(v);
            st.push(v);
            value.insert(v);
        }
        else {
            if (!st.empty() && fl && v != st.top()) {
                fl = 0;
            }
            else if (!st.empty()) {
                st.pop();
            }
            else {
                fl = 0;
            }
            if (!q.empty() && fl_ && v != q.front()) {
                fl_ = 0;
            }
            else if (!q.empty()) {
                q.pop();
            }
            else {
                fl_ = 0;
            }
            if (value.empty()) {
                fl__ = fl___ = 0;
                continue;
            }
            int mx = *value.rbegin();
            int mi = *value.begin();
            if (fl__ && v != mx) {
                fl__ = 0;
            }
            if (fl___ && v != mi) {
                fl___ = 0;
            }
            if (fl__ && v == mx) {
                auto p = value.end();
                p--;
                value.erase(p);
            }
            else if (fl___ && v == mi) {
                value.erase(value.begin());
            }
        }
    }
    if (fl_) cout << "Yes" << '\n';
    else cout << "No" << '\n';
    if (fl) cout << "Yes" << '\n';
    else cout << "No" << '\n';
    if (fl__) cout << "Yes" << '\n';
    else cout << "No" << '\n';
    if (fl___) cout << "Yes" << '\n';
    else cout << "No" << '\n';
    return 0;
}

詳細信息

Test #1:

score: 100
Accepted
time: 4ms
memory: 3548kb

input:

6
1 1
1 2
1 3
2 1
2 2
2 3

output:

Yes
No
No
Yes

result:

ok 4 lines

Test #2:

score: 0
Accepted
time: 38ms
memory: 5840kb

input:

100000
1 49
1 59
2 49
1 98
2 59
2 98
1 95
1 34
1 64
2 95
1 18
1 44
1 7
1 78
2 34
2 64
2 18
1 37
2 44
1 89
2 7
1 2
1 21
2 78
2 37
1 90
1 75
1 50
1 33
1 70
1 32
2 89
2 2
1 49
2 21
1 46
2 90
1 3
2 75
1 50
1 37
1 24
1 88
1 78
2 50
1 22
1 73
1 95
1 100
2 33
1 28
1 62
1 25
2 70
1 90
2 32
1 31
2 49
2 46
2 ...

output:

Yes
No
No
No

result:

ok 4 lines

Test #3:

score: 0
Accepted
time: 37ms
memory: 5988kb

input:

100000
1 78
1 47
1 9
2 9
2 47
2 78
1 67
1 58
1 6
2 6
1 60
1 5
2 5
2 60
1 100
2 100
1 76
1 28
1 81
1 40
1 5
2 5
2 40
1 39
1 13
1 82
2 82
2 13
1 19
2 19
2 39
1 47
1 25
2 25
2 47
2 81
2 28
2 76
2 58
2 67
1 13
2 13
1 39
2 39
1 72
2 72
1 88
1 84
2 84
2 88
1 100
2 100
1 2
2 2
1 91
1 20
2 20
1 25
1 37
2 37...

output:

No
Yes
No
No

result:

ok 4 lines

Test #4:

score: 0
Accepted
time: 33ms
memory: 3508kb

input:

100000
1 99
1 79
2 79
1 90
2 90
2 99
1 43
1 40
1 61
2 40
2 43
2 61
1 98
1 70
1 65
2 65
2 70
2 98
1 64
2 64
1 64
1 12
1 57
1 54
1 69
1 19
1 67
1 99
1 42
1 25
1 88
2 12
2 19
1 50
1 45
1 60
1 55
1 14
1 49
1 55
2 14
1 87
2 25
1 14
2 14
1 37
1 20
2 20
2 37
2 42
2 45
2 49
1 82
1 39
1 80
1 76
1 7
2 7
1 19
...

output:

No
No
No
Yes

result:

ok 4 lines

Test #5:

score: 0
Accepted
time: 34ms
memory: 3628kb

input:

100000
1 83
2 83
1 84
1 49
1 12
1 29
2 84
2 49
1 3
2 29
2 12
2 3
1 24
1 46
1 13
2 46
2 24
2 13
1 66
1 92
2 92
2 66
1 37
1 50
1 16
1 90
2 90
1 92
2 92
1 38
2 50
1 24
1 85
1 13
2 85
2 38
1 53
1 46
1 7
1 43
1 16
1 28
2 53
1 56
1 59
2 59
2 56
2 46
2 43
1 31
1 64
1 3
2 64
1 46
2 46
2 37
2 31
1 71
2 71
1 ...

output:

No
No
Yes
No

result:

ok 4 lines

Test #6:

score: 0
Accepted
time: 38ms
memory: 3572kb

input:

100000
1 -2147483648
2 -2147483648
1 -2147483648
1 1
1 1
2 -2147483648
2 1
1 -2147483648
2 -2147483648
1 -1
1 1
2 -1
1 1
1 -2147483648
2 -2147483648
1 1
1 -2147483648
2 -2147483648
2 1
2 1
1 -1
2 -1
1 -1
2 -1
2 1
2 1
1 -2147483648
2 -2147483648
1 1
2 1
1 -1
2 -1
1 1
2 1
1 1
2 1
1 -2147483648
2 -2147...

output:

No
No
No
Yes

result:

ok 4 lines

Test #7:

score: 0
Accepted
time: 38ms
memory: 5948kb

input:

100000
1 1
2 1
1 1
2 1
2 1
1 1
1 1
1 1
1 1
1 1
1 1
2 1
2 1
1 1
2 1
2 1
1 1
2 1
2 1
1 1
1 1
2 1
1 1
2 1
2 1
2 1
1 1
1 1
1 1
2 1
2 1
1 1
2 1
2 1
2 1
2 1
2 1
2 1
2 1
1 1
1 1
1 1
1 1
1 1
1 1
2 1
2 1
2 1
2 1
1 1
1 1
2 1
2 1
2 1
1 1
1 1
1 1
2 1
1 1
2 1
1 1
1 1
1 1
2 1
1 1
2 1
2 1
2 1
1 1
1 1
2 1
1 1
1 1
2...

output:

No
No
No
No

result:

ok 4 lines