QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#508460#7660. Investigating Frog Behaviour on Lily Pad PatternsGrunrayTL 3ms5756kbC++201.3kb2024-08-07 15:52:102024-08-07 15:52:11

Judging History

This is the latest submission verdict.

  • [2024-08-07 15:52:11]
  • Judged
  • Verdict: TL
  • Time: 3ms
  • Memory: 5756kb
  • [2024-08-07 15:52:10]
  • Submitted

answer

#include<bits/stdc++.h>
using namespace std;
#define int long long
const int N = 1e6 + 10;
int p[N], l[N];
set <int> s;
void solve()
{
    int n;
    std::cin >> n;
    int right;
    s.insert(1e18);
    for (int i = 1; i <= n; i++)
    {
        int x;
        std::cin >> x;
        p[i] = x;
        l[x] = i;
    }
    right = p[n];
    for (int i = 1; i <= p[n]; i++)
    {
        if (l[i] == 0)
        {
            s.insert(i);
        }
    }

    int q;
    std::cin >> q;
    while (q--)
    {
        int x;
        std::cin >> x;
        int o = p[x];
        int u = *upper_bound(s.begin(), s.end(), o);
        // std:: cout << u << endl;
        if (u == 1e18)
        {
            s.insert(p[x]);
            std::cout << right + 1 << endl;
            p[x] = right + 1;
            right = right + 1;
            continue;
        }
        else
        {
            s.erase(u);
            std::cout << u << endl;
            s.insert(p[x]);
            p[x] = u;
        }
        // for(auto e : s)
        // {
        //     std:: cout << e << endl;
        // }
    }
}
signed main()
{
    ios::sync_with_stdio(false);
    cin.tie(0), cout.tie(0);
    // int T;
    // std:: cin >> T;
    // while(T -- )
    solve();
    return 0;
}

详细

Test #1:

score: 100
Accepted
time: 1ms
memory: 5752kb

input:

5
1 2 3 5 7
3
1
2
4

output:

4
6
8

result:

ok 3 lines

Test #2:

score: 0
Accepted
time: 1ms
memory: 5624kb

input:

5
1 2 3 5 7
4
1
1
1
1

output:

4
6
8
9

result:

ok 4 lines

Test #3:

score: 0
Accepted
time: 1ms
memory: 5756kb

input:

5
1 2 3 4 5
20
1
4
4
3
5
3
3
5
2
2
5
4
1
4
2
3
1
5
3
3

output:

6
7
8
4
7
5
9
10
3
4
11
10
7
12
5
10
8
13
11
14

result:

ok 20 lines

Test #4:

score: 0
Accepted
time: 3ms
memory: 5668kb

input:

10
2 4 6 7 8 9 10 12 13 14
1000
4
5
4
6
2
5
2
9
6
10
6
2
1
3
7
3
9
5
2
10
8
7
6
7
4
7
9
4
4
4
5
2
6
1
10
9
10
3
7
10
5
9
5
8
4
8
10
9
1
7
10
8
10
6
7
7
10
8
1
2
9
10
2
3
8
7
2
7
2
2
1
10
3
3
2
8
9
6
10
1
7
9
10
6
5
9
9
6
4
9
10
3
3
10
5
4
8
5
8
4
9
5
5
3
9
7
5
5
4
6
1
8
6
7
9
2
2
4
9
3
6
4
6
8
4
4
3...

output:

11
15
16
11
5
17
7
15
13
18
14
8
3
7
11
9
19
20
10
21
13
12
15
14
17
16
22
18
19
23
24
11
17
4
25
26
27
10
18
28
25
27
26
14
24
15
29
28
5
19
30
16
31
18
20
21
32
17
6
12
29
33
13
11
19
22
14
23
15
16
7
34
12
13
17
20
30
19
35
8
25
31
36
21
27
32
33
22
26
34
37
14
15
38
28
27
21
29
23
28
35
30
31
16...

result:

ok 1000 lines

Test #5:

score: 0
Accepted
time: 0ms
memory: 5716kb

input:

20
1 2 3 4 6 7 8 9 10 11 12 13 14 15 17 18 20 21 22 24
1000
5
13
20
2
2
3
3
16
6
9
4
16
13
6
10
4
14
13
10
18
17
16
2
11
10
11
16
15
16
8
20
7
2
15
9
2
10
7
15
9
7
11
7
18
10
20
1
12
6
9
19
17
4
7
13
8
17
7
14
1
17
11
17
1
4
4
4
5
14
1
14
6
13
3
3
16
20
13
9
20
1
11
2
12
15
2
9
7
3
6
15
7
11
12
17
5...

output:

16
19
25
5
6
5
14
23
18
24
5
26
23
19
18
7
27
28
23
29
21
30
10
15
26
18
31
20
32
11
30
9
12
23
25
15
31
10
24
26
12
20
17
33
34
31
2
18
23
29
25
22
8
19
30
12
26
21
28
3
27
22
35
4
9
10
11
17
36
5
37
26
36
16
19
38
32
39
30
36
6
23
16
20
27
18
31
22
21
28
29
24
26
22
40
19
23
27
30
41
37
32
42
29
3...

result:

ok 1000 lines

Test #6:

score: -100
Time Limit Exceeded

input:

200000
1 2 3 4 5 6 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 64 65 66 67 68 69 71 72 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 103 105 106...

output:

215571
100166
33910
74113
183009
35730
95221
38280
159508
31446
200325
63195
144358
159370
85773
174154
93179
70073
18863
199520
178155
51882
27205
24526
90730
5933
103897
100965
21694
32932
196760
120608
120432
29259
176329
109263
54123
175078
92336
1475
146000
40528
145231
71028
19163
9144
116467
...

result: