5725 2023. 09. 10 01:50:45 TomaSajt Színes szobák (50 pont) cpp17 Elfogadva 50/50 32ms 24740 KiB
// "inspired by" solution by SleepyOverlord on njudge
#include <bits/stdc++.h>
using namespace std;

int main() {
  cin.tie(0), cin.sync_with_stdio(0);

  int n, k, m;
  cin >> n >> k >> m;

  vector<int> pos_color(n + 2);
  for (int i = 1; i <= n; i++) cin >> pos_color[i];

  vector<array<int, 2>> instrs(m);
  for (auto& [c, x] : instrs) cin >> c >> x;
  reverse(instrs.begin(), instrs.end());

  // calculates in reverse what was the position of the people
  // who reached their respective side last
  int left_pos = 0, right_pos = n + 1;
  for (auto& [c, x] : instrs) {
    if (x == -1 && c == pos_color[left_pos + 1]) left_pos++;
    if (x == +1 && c == pos_color[left_pos]) left_pos--;

    if (x == +1 && c == pos_color[right_pos - 1]) right_pos--;
    if (x == -1 && c == pos_color[right_pos]) right_pos++;
  }

  cout << left_pos + (n + 1 - right_pos);
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 50/50
1 Elfogadva 0/0 3ms 1828 KiB
2 Elfogadva 0/0 32ms 5528 KiB
3 Elfogadva 1/1 3ms 3520 KiB
4 Elfogadva 1/1 3ms 3756 KiB
5 Elfogadva 1/1 3ms 3740 KiB
6 Elfogadva 1/1 3ms 4008 KiB
7 Elfogadva 1/1 3ms 4244 KiB
8 Elfogadva 1/1 3ms 4464 KiB
9 Elfogadva 1/1 3ms 4448 KiB
10 Elfogadva 1/1 3ms 4720 KiB
11 Elfogadva 1/1 3ms 4696 KiB
12 Elfogadva 1/1 3ms 4720 KiB
13 Elfogadva 1/1 4ms 5200 KiB
14 Elfogadva 1/1 4ms 5324 KiB
15 Elfogadva 1/1 4ms 5596 KiB
16 Elfogadva 1/1 4ms 5792 KiB
17 Elfogadva 1/1 4ms 5900 KiB
18 Elfogadva 1/1 4ms 5988 KiB
19 Elfogadva 1/1 19ms 7816 KiB
20 Elfogadva 1/1 32ms 10000 KiB
21 Elfogadva 1/1 25ms 10536 KiB
22 Elfogadva 1/1 27ms 11928 KiB
23 Elfogadva 1/1 30ms 13388 KiB
24 Elfogadva 1/1 32ms 14940 KiB
25 Elfogadva 1/1 32ms 16124 KiB
26 Elfogadva 1/1 32ms 17520 KiB
27 Elfogadva 3/3 30ms 18704 KiB
28 Elfogadva 3/3 30ms 19620 KiB
29 Elfogadva 3/3 30ms 20788 KiB
30 Elfogadva 3/3 30ms 21868 KiB
31 Elfogadva 3/3 30ms 22868 KiB
32 Elfogadva 3/3 30ms 23864 KiB
33 Elfogadva 4/4 17ms 22800 KiB
34 Elfogadva 4/4 27ms 24740 KiB