QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#659622#5516. Modern Machineliuziao52 903ms814708kbC++237.4kb2024-10-19 21:00:332024-10-19 21:00:35

Judging History

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

  • [2024-10-19 21:00:35]
  • 评测
  • 测评结果:52
  • 用时:903ms
  • 内存:814708kb
  • [2024-10-19 21:00:33]
  • 提交

answer

#include <bits/stdc++.h>

// #define int int64_t

const int kMaxN = 1.2e5 + 5, kLog = 18;

int n, m, q, cr, cb;
int a[kMaxN], nxt[kLog][kLog][kMaxN], rx[kMaxN], bx[kMaxN], lg[kMaxN], prer[kMaxN];
int64_t sumr[kLog][kLog][kMaxN], sumb[kLog][kLog][kMaxN];
std::string s;

struct SGT {
  std::vector<std::pair<int, int>> v[kMaxN * 4];

  int func(int x, int val) {
    auto it = std::upper_bound(v[x].begin(), v[x].end(), std::pair<int, int>(val, 1e9)) - 1;
    return val + it->second;
  }

  void pushup(int x) {
    int ls = (x << 1), rs = (x << 1 | 1);
    for (int i = 0; i < (int)v[ls].size(); ++i) {
      auto [L, val] = v[ls][i];
      int R = (i + 1 == (int)v[ls].size() ? n + 1 : v[ls][i + 1].first);
      auto itl = std::lower_bound(v[rs].begin(), v[rs].end(), std::pair<int, int>(L + val, -1e9));
      auto itr = std::lower_bound(v[rs].begin(), v[rs].end(), std::pair<int, int>(R + val, -1e9));
      v[x].emplace_back(L, 0);
      for (auto it = itl; it != itr; ++it) {
        v[x].emplace_back(it->first - val, 0);
      }
    }
    std::sort(v[x].begin(), v[x].end());
    v[x].erase(std::unique(v[x].begin(), v[x].end()), v[x].end());
    for (auto &[xx, val] : v[x]) {
      val = func(rs, func(ls, xx)) - xx;
    }
  }

  void build(int x, int l, int r) {
    if (l == r) {
      if (n - a[l] > 0) {
        v[x].emplace_back(0, a[l] + 1);
        if (n - a[l] <= a[l] - 1) v[x].emplace_back(n - a[l], a[l] - n);
      } else {
        v[x].emplace_back(0, a[l] - n);
      }
      if (a[l] < n + 1 - a[l]) {
        v[x].emplace_back(a[l], a[l]);
        v[x].emplace_back(n - a[l] + 1, a[l] - (n + 1));
      } else {
        v[x].emplace_back(a[l], a[l] - (n + 1));
      }
      std::sort(v[x].begin(), v[x].end());
      return;
    }
    int mid = (l + r) >> 1;
    build(x << 1, l, mid), build(x << 1 | 1, mid + 1, r);
    pushup(x);
  }

  int query(int x, int l, int r, int ql, int qr, int val) {
    if (l > qr || r < ql) {
      return val;
    } else if (l >= ql && r <= qr) {
      return func(x, val);
    }
    int mid = (l + r) >> 1;
    return query(x << 1 | 1, mid + 1, r, ql, qr, query(x << 1, l, mid, ql, qr, val));
  }
} sgt;

void prework() {
  sgt.build(1, 1, m);

  lg[0] = -1;
  for (int i = 1; i <= 1.2e5; ++i) lg[i] = lg[i >> 1] + 1;

  for (int i = 1; i <= n; ++i) prer[i] = prer[i - 1] + (s[i] == 'R');

  for (int i = 1; i <= n + 1; ++i) {
    if (i == n + 1 || s[i] == 'B') {
      rx[++cr] = i - 1;
    }
  }
  for (int i = n; ~i; --i) {
    if (!i || s[i] == 'R') {
      bx[++cb] = n - i;
    }
  }

  for (int x = 0; x <= lg[n] + 1; ++x) {
    for (int y = 0; y <= lg[n] + 1; ++y) {
      int lenr, lenb;
      if (!x) lenr = 0;
      else lenr = (1 << (x - 1));
      if (!y) lenb = 0;
      else lenb = (1 << (y - 1));
      if (lenr + lenb > n) continue;
      for (int i = 1; i <= m; ++i) {
        sumr[x][y][i] = sumr[x][y][i - 1];
        sumb[x][y][i] = sumb[x][y][i - 1];
        if (a[i] <= lenr) sumr[x][y][i] += a[i];
        else if (n - a[i] + 1 <= lenb) sumb[x][y][i] += n - a[i];
      }
      nxt[x][y][m + 1] = m + 1;
      for (int i = m; i; --i) {
        if (a[i] > lenr && a[i] <= n - lenb) nxt[x][y][i] = i;
        else nxt[x][y][i] = nxt[x][y][i + 1];
      }
    }
  }
}

int getcntr(int l, int r) {
  if (l > r) return 0;
  return prer[r] - prer[l - 1];
}

int getcntb(int l, int r) {
  if (l > r) return 0;
  return (r - l + 1) - (prer[r] - prer[l - 1]);
}

char getch(int x, int nowr, int nowb) {
  if (x <= rx[nowr]) return 'R';
  else if (x > n - bx[nowb]) return 'B';
  else return s[x];
}

int solve(int l, int r) {
  int pos = l - 1, nowr = 1, nowb = 1, val = -1;
  for (;;) {
    if (rx[nowr] + bx[nowb] >= n) {
      val = rx[nowr];
      break;
    }
    int x = lg[rx[nowr]] + 1, y = lg[bx[nowb]] + 1;
    int nxtp = std::min(nxt[x][y][pos + 1], r + 1);
    int detr = std::min<int>(sumr[x][y][nxtp - 1] - sumr[x][y][pos], n);
    int detb = std::min<int>(sumb[x][y][nxtp - 1] - sumb[x][y][pos], n);
    // std::cerr << pos << ' ' << nxtp << ' ' << rx[nowr] << ' ' << bx[nowb] << ' ' << detr << ' ' << detb << '\n';
    if (rx[std::min(nowr + detr, cr)] + bx[std::min(nowb + detb, cb)] < n) {
      // std::cerr << pos << ' ' << nxtp << ' ' << detr << ' ' << detb << ' ' << rx[nowr] << ' ' << bx[nowb] << ' ' << rx[std::min(nowr + detr, cr)] + bx[std::min(nowb + detb, cb)] << '\n';
      nowr += detr, nowb += detb, pos = nxtp;
      if (pos == r + 1) break;
      int cntr = rx[nowr] + getcntr(rx[nowr] + 1, n - bx[nowb]);
      if (getch(a[pos], nowr, nowb) == 'B') ++cntr;
      // std::cerr <<  "!!! " << pos << ' ' << getch(a[pos], nowr, nowb) << ' ' << nxtp << ' ' << rx[nowr] << ' ' << bx[nowb] << ' ' << cntr << '\n';
      if (n - cntr >= a[pos]) { // 把前 a[pos] 个 B 变成 R
        nowr = std::min(nowr + a[pos], cr);
        if (s[a[pos]] == 'B') ++nowr;
        nowr = std::min(nowr, cr);
        // std::cerr <<  "??? " << pos << ' ' << nxtp << ' ' << rx[nowr] << ' ' << bx[nowb] << ' ' << cntr << '\n';
        if (rx[nowr] + bx[nowb] >= n) {
          val = cntr + a[pos];
          break;
        }
      } else { // 把后 n - a[pos] + 1 个 R 变成 B
        nowb = std::min(nowb + n - a[pos] + 1, cb + 1);
        if (s[a[pos]] == 'B') --nowb;
        // std::cerr << nowb << ' ' << rx[nowr] << ' ' << bx[nowb] << '\n';
        nowb = std::min(nowb, cb);
        if (rx[nowr] + bx[nowb] >= n) {
          val = cntr - (n - a[pos] + 1);
          break;
        }
      }
    } else {
      int L = pos, R = nxtp, res = pos;
      while (L + 1 < R) {
        int mid = (L + R) >> 1;
        int detr = std::min<int>(sumr[x][y][mid] - sumr[x][y][pos], n);
        int detb = std::min<int>(sumb[x][y][mid] - sumb[x][y][pos], n);
        if (rx[std::min(nowr + detr, cr)] + bx[std::min(nowb + detb, cb)] >= n) R = res = mid;
        else L = mid;
      }
      assert(res != pos);
      int detr = std::min<int>(sumr[x][y][res - 1] - sumr[x][y][pos], n);
      int detb = std::min<int>(sumb[x][y][res - 1] - sumb[x][y][pos], n);
      nowr += detr, nowb += detb;
      assert(nowr <= cr && nowb <= cb && rx[nowr] + bx[nowb] < n);
      int cntr = rx[nowr] + getcntr(rx[nowr] + 1, n - bx[nowb]);
      if (getch(a[res], nowr, nowb) == 'B') ++cntr;
      // std::cerr << "heige " << res << ' ' << cntr << ' ' << rx[nowr] << ' ' << bx[nowb] << '\n';
      pos = res;
      if (a[res] <= n - cntr) {
        val = cntr + a[res];
        // val = rx[nowr + a[res]];
        break;
      } else {
        // val = n - bx[nowb + n - a[res]];
        val = cntr - (n - a[res] + 1);
        break;
      }
    }
  }
  // std::cerr << "fuckkkk " << val << ' ' << pos << '\n';
  if (val == -1) {
    return rx[nowr] + getcntr(rx[nowr] + 1, n - bx[nowb]);
  } else {
    return sgt.query(1, 1, m, pos + 1, r, val);
  }
}

void dickdreamer() {
  std::cin >> n >> m >> s;
  s = " " + s;
  for (int i = 1; i <= m; ++i) std::cin >> a[i];
  prework();
  std::cin >> q;
  for (int i = 1; i <= q; ++i) {
    int l, r;
    std::cin >> l >> r;
    std::cout << solve(l, r) << '\n';
  }
}

int32_t main() {
#ifdef ORZXKR
  freopen("in.txt", "r", stdin);
  freopen("out.txt", "w", stdout);
#endif
  std::ios::sync_with_stdio(0), std::cin.tie(0), std::cout.tie(0);
  int T = 1;
  // std::cin >> T;
  while (T--) dickdreamer();
  // std::cerr << 1.0 * clock() / CLOCKS_PER_SEC << "s\n";
  return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Subtask #1:

score: 3
Accepted

Test #1:

score: 3
Accepted
time: 3ms
memory: 11892kb

input:

3 1
BBR
3
1
1 1

output:

0

result:

ok single line: '0'

Test #2:

score: 3
Accepted
time: 3ms
memory: 11896kb

input:

3 10
BBB
3 3 3 1 3 3 3 3 3 1
1
2 5

output:

2

result:

ok single line: '2'

Test #3:

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

input:

10 1
RBBBBRRBBR
9
1
1 1

output:

3

result:

ok single line: '3'

Test #4:

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

input:

10 10
RRRBBRRBRB
5 9 4 6 7 7 4 3 8 2
1
1 10

output:

1

result:

ok single line: '1'

Test #5:

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

input:

300 300
BRRRRBBRBRBRBBBRBRRRBRBBRBBRRBBRBBRBRBRBRBBRRBBRBBRBBBBRRRRBRBRBBBBRBBBRBBRBBRBRBRRBRBBRRRRBRBBRRRBRRBRBBBRRRRBRRRBBBBRRBBRBBBRRRBRBBRBRBBRRBRBRRRBRBRBBBBRRBRBRRRRRBRRRRRBRRRBRBRRRRRBBBRRBBRBBRRRRBBBBRBRBBBRRRRBBBBBBBBBBRBRRBRBBRRRRBRBBRRRBBRBRRRBBRBRRBBRBBBBRBRBRBBBRBBRBRBBRBBRBRBRBRRRBBBBR...

output:

29

result:

ok single line: '29'

Test #6:

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

input:

300 300
RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB...

output:

149

result:

ok single line: '149'

Test #7:

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

input:

5 2
RBRBB
2 5
1
1 2

output:

4

result:

ok single line: '4'

Subtask #2:

score: 12
Accepted

Dependency #1:

100%
Accepted

Test #8:

score: 12
Accepted
time: 16ms
memory: 164280kb

input:

7000 7000
RRBRRRRRRBBRBRBRRRBRRRBRRRRBRBRBRBRBBBRBRRRBBBRBBBBBBRBBBRRBRBRBBRRRBBBBRRBBRBBRBBRRRBBRRBRBRRRRRBBRRBRBBBRBBRRRRBRBBBBRBBBBBBRRRBRBRBBRBRRBBBBBRRBBBBBBRBBBRRBBRRBBBBBBRBRBRBBRBBRBBBRRBRBBRBBBBBRBRRBRRBRRRBRBBBBBRRBRBRRBRRRRBBBBRRBBRRRRRBBBBBRRBBBBBBRRBBRBRRRRRRRBRRBRRBBBBBBBBRRRRBBRRRRRRR...

output:

5505

result:

ok single line: '5505'

Test #9:

score: 12
Accepted
time: 19ms
memory: 160676kb

input:

7000 7000
RRBRRRBBRRBBRBBBBRBRBRRBBBBBBBBBBRRRBRRBBRRRRBBRRBRRRRRBBRBBBBBRRBBBBRBBBBRBRBBBBBRBBRRRBBBBRRBRRBRRBRBBBRRRRBBRRBRRBRBBRBBBRBBBRRBRBBBRRBBBBBRBBRBRBRBBBBRRBBBRRRRBRRBBRBRBBBBBBRRRRRBBRRBBRRBBBRBBBRRRRRBRBBRBRBBRRBBRBRRRBBRRBBBRRBRRRRRRRBBRBRRBRBRBRBRBRBBRBRRBRBBBBBBBRRBRRRBBBBRRBBRRRBBRBR...

output:

5936

result:

ok single line: '5936'

Test #10:

score: 12
Accepted
time: 36ms
memory: 163156kb

input:

7000 7000
RBBRBRBRRRBBRBRRBRBBRBRRRBRBBBRBBRBRBRBRRBBBBRBRRRBBRRRRBBRRRRBBRBRBRRRRBBRRBBRBRBBBRBBBBBRBBRBBRRBBRRRRRBBRBRBRRBBRRRBRBBBRBRRBRRRBRRRBRBBBBRBBBBBBRBRRRBRRRBRBBBRBRRBBRRBRRBBBBBRBBRRRRBBRRBBBBRRBRBRRRRBBRRRRRBRBRRBBRRRRRBRRBRBBBBRRBBBBRBRRRBBRBRRRRRBRRBRRRBRRBRRRRRBBBRBBBRBRRRBRBBBBRRRRRR...

output:

6260

result:

ok single line: '6260'

Test #11:

score: 12
Accepted
time: 7ms
memory: 163420kb

input:

7000 7000
RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR...

output:

3499

result:

ok single line: '3499'

Test #12:

score: 12
Accepted
time: 15ms
memory: 165020kb

input:

7000 7000
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB...

output:

3906

result:

ok single line: '3906'

Subtask #3:

score: 0
Wrong Answer

Dependency #2:

100%
Accepted

Test #13:

score: 10
Accepted
time: 472ms
memory: 794256kb

input:

120000 120000
BBBBRBBRBRRBRRRBBBRRRRRBRRRRRRRRRRRBBBBRBRBBBBBBRBRBBBRBBRBRRBBRBRRRBRBBBBBRBRRBBRRRRRBBRBBBBRBBRRBRRRRBRBBBRRRBBBRRBRRBBBRRRBRRRBBRBBRRRBBBRBBRBBBBBRBRRRRBBRBRBRBBRRRRRRRBBRRBBBBRRRBBRRRRRBBBBRBBBBRBRRBBBRBRBBBRBRBRRBBRBRBBBRRBBRBBBBRBBRRBRBRBRBRRBBRBBBBBBBRRRRBRBRBRBRRRRBRRBBBRBRRBRB...

output:

110620
106126
106019
110676
111965

result:

ok 5 lines

Test #14:

score: 0
Wrong Answer
time: 541ms
memory: 802724kb

input:

120000 120000
BRRBBBRRRRRRRBRRRRRRRBBRBBRRBBRRRRRBRBRRBRRRRRBRRBBBBRRBRRRBBBBRRBRBRBBBRBBRRBRRRBRRBRBBBBRRRBRBRBRBBBBRBRRRBRBBRBBBRRBBBRBBBBRRBBRRBBRBRRRBBBRBBBRRRRBBBBBRRRRBBBBBBBRRRRRRRBBBRRRBBRRRRBBBRBBBRRBBBRRRRRRRRRRRRRBRRBRRBRBRRBBBBBBRRRRBRRBRBBBBRRBRRRRRBRRBRRRBBRRRBBRRRRRBRBRRRRBBBBBBBRBRRR...

output:

96347
101002
105432
99656
104213

result:

wrong answer 1st lines differ - expected: '96348', found: '96347'

Subtask #4:

score: 11
Accepted

Test #21:

score: 11
Accepted
time: 191ms
memory: 104084kb

input:

10 120000
RRRRRRRRRR
9 1 9 6 1 9 6 10 3 2 6 4 2 5 7 10 8 9 2 6 7 10 2 9 7 5 9 9 2 7 4 1 8 3 3 6 9 4 7 9 6 8 8 2 5 6 8 3 9 2 5 2 5 9 8 4 8 3 2 2 5 1 9 1 7 9 9 4 9 5 2 10 7 4 3 8 1 10 7 6 6 2 3 8 7 8 5 9 2 2 1 10 2 2 5 4 2 5 9 1 8 4 5 1 2 8 3 10 10 6 7 2 1 5 10 1 9 10 1 7 3 10 8 10 6 8 3 1 10 9 10 5 5...

output:

10
6
1
8
1
9
8
1
3
0
3
4
4
2
2
2
10
8
10
7
0
7
0
1
10
3
10
7
3
2
10
8
10
0
0
10
1
2
5
4
0
7
1
0
6
7
6
8
3
2
4
7
0
6
7
5
2
8
4
8
1
4
4
10
3
7
7
7
3
1
3
10
3
4
0
2
1
3
9
8
4
6
10
9
3
7
9
2
5
7
2
7
2
1
0
6
0
6
3
6
2
8
1
10
9
4
5
2
5
10
9
4
1
8
5
3
6
3
8
9
10
6
4
10
7
2
8
7
9
7
7
0
9
5
5
6
3
7
4
7
9
6
7...

result:

ok 120000 lines

Test #22:

score: 11
Accepted
time: 203ms
memory: 104892kb

input:

10 120000
RRRRRRRRRR
5 3 4 3 3 4 3 7 7 7 6 9 4 10 10 9 9 7 8 8 9 4 8 9 5 8 4 8 8 6 4 10 9 4 8 6 3 1 7 8 1 7 5 5 1 6 4 5 1 1 9 1 5 6 9 7 4 5 8 10 3 2 3 10 2 9 8 3 3 5 5 9 5 7 10 6 2 6 9 10 5 3 1 6 2 8 1 1 3 9 3 6 9 7 6 8 8 4 7 9 8 8 6 6 7 7 8 4 9 5 9 9 3 4 8 1 6 6 10 7 2 10 8 10 5 4 5 8 7 5 5 7 2 9 8...

output:

3
0
7
8
10
10
8
2
7
10
4
8
7
10
8
5
1
0
3
7
4
10
7
5
7
1
0
7
7
7
5
7
5
8
0
3
8
3
6
6
3
6
6
0
2
8
5
5
4
9
10
6
6
3
7
10
3
1
4
2
2
9
2
5
4
7
1
7
7
0
10
3
2
0
0
1
0
10
1
5
8
6
8
1
4
0
10
9
5
3
7
5
7
3
5
7
4
0
4
1
8
4
4
8
0
10
0
5
1
3
2
9
2
7
6
0
8
4
6
3
2
6
3
4
10
1
3
8
3
9
6
5
3
2
0
3
0
5
5
10
1
3
2
6...

result:

ok 120000 lines

Test #23:

score: 11
Accepted
time: 99ms
memory: 94948kb

input:

10 120000
RRRRRRRRRR
10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 ...

output:

9
5
9
2
9
8
9
9
7
6
9
9
9
6
7
9
9
7
5
9
9
9
9
9
3
9
9
7
7
2
9
9
9
9
7
3
7
7
7
5
9
9
9
6
9
9
7
9
7
9
9
9
9
9
9
9
9
6
9
9
9
9
9
9
2
9
5
6
7
7
7
9
2
9
9
2
9
9
9
2
9
2
9
9
5
7
7
6
2
9
9
7
9
8
2
9
9
2
9
9
9
9
7
9
9
9
9
6
9
8
7
8
7
7
2
7
7
6
9
9
6
9
9
9
2
3
2
9
9
9
9
9
9
9
7
7
9
9
9
6
9
9
7
7
7
9
7
2
9
7
...

result:

ok 120000 lines

Test #24:

score: 11
Accepted
time: 115ms
memory: 106808kb

input:

10 120000
RRRRRRRRRR
9 1 5 3 5 6 4 7 4 3 2 2 5 3 1 8 6 6 2 4 7 5 5 4 8 4 7 10 1 4 7 6 8 4 9 2 9 9 6 6 2 1 8 6 3 8 6 7 9 10 7 10 5 10 10 1 4 10 9 8 7 1 6 5 2 8 3 6 9 5 7 4 4 9 9 9 1 5 4 3 6 1 4 1 8 10 7 2 10 1 5 3 2 3 2 6 2 9 5 1 5 6 3 1 9 8 1 4 5 8 8 10 6 2 8 4 2 7 5 9 2 10 2 8 10 7 3 5 3 9 5 9 3 9 ...

output:

8
9
3
6
0
7
0
8
1
5
7
9
3
6
7
5
1
8
10
3
0
6
0
5
3
8
4
4
5
9
5
1
10
3
2
4
3
2
9
4
6
7
5
1
5
3
10
6
5
5
2
2
8
8
8
9
2
2
1
10
6
7
2
8
10
7
10
5
4
10
6
10
3
2
1
0
2
8
1
5
1
2
7
8
5
5
2
4
4
5
10
2
4
7
9
4
6
5
10
0
6
1
5
6
5
3
4
8
2
0
9
9
4
6
4
8
10
6
0
10
1
1
4
2
2
10
2
8
0
10
4
3
6
5
8
4
7
1
8
0
0
5
5
...

result:

ok 120000 lines

Test #25:

score: 11
Accepted
time: 119ms
memory: 103292kb

input:

10 120000
RRRRRRRRRR
3 7 3 1 1 4 4 5 6 8 9 7 1 3 6 5 9 9 7 2 1 10 1 7 2 5 10 7 10 2 8 3 2 8 6 5 7 10 1 1 9 10 3 1 8 7 4 6 3 7 8 5 8 8 10 5 9 1 2 8 7 1 6 6 8 9 9 3 5 7 6 8 10 9 1 7 10 1 10 8 7 4 2 7 3 7 9 5 3 3 3 5 1 4 1 5 8 1 2 5 2 7 8 3 4 3 3 8 8 8 6 1 5 2 2 6 2 1 5 6 8 1 8 10 4 3 4 8 5 5 5 1 4 6 1...

output:

2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
...

result:

ok 120000 lines

Subtask #5:

score: 26
Accepted

Test #26:

score: 26
Accepted
time: 887ms
memory: 814328kb

input:

120000 120000
RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR...

output:

23441
85217
55120
85435
90828
27927
63967
41321
97520
63588
53976
9028
23460
86914
85688
112911
68792
102907
14973
38475
71931
17922
62077
53185
57121
43774
12583
21332
82917
28259
92209
28023
51606
65188
44768
34904
96969
18999
3653
3865
42795
86270
55638
108702
7871
68493
109086
40077
60406
38299
...

result:

ok 120000 lines

Test #27:

score: 26
Accepted
time: 903ms
memory: 813824kb

input:

120000 120000
RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR...

output:

2018
77981
92021
56481
116102
56745
67069
27266
30240
27284
13740
91171
108960
56234
109524
112538
55657
42972
50147
67079
7111
117407
39871
76936
45716
91668
95720
77368
97105
85437
79208
67078
48361
96495
85567
55381
19702
20133
30919
44934
86141
2061
51472
119392
58595
83081
98072
70266
44208
836...

result:

ok 119999 lines

Test #28:

score: 26
Accepted
time: 660ms
memory: 814700kb

input:

120000 120000
RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR...

output:

74259
100417
22098
39799
56013
106728
100176
691
115099
118024
24216
53415
50787
78009
93371
114696
10114
113629
42308
99501
31925
2977
101690
15659
8409
87275
8847
117293
75701
3539
100844
31941
32198
3892
91695
29078
71179
92631
112213
43774
2220
17510
30742
69729
41857
84581
82608
73397
77072
935...

result:

ok 120000 lines

Test #29:

score: 26
Accepted
time: 712ms
memory: 814708kb

input:

120000 120000
RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR...

output:

93180
85506
102645
62667
72263
51220
85142
81308
76933
106402
99293
27616
94064
104319
9479
119556
70424
76433
61917
110968
48994
108260
66210
40756
64358
89287
104790
100481
108187
20280
118127
29501
61041
59815
17775
87287
77037
95623
78604
90259
65811
33371
14467
12846
35149
18246
32718
84622
903...

result:

ok 120000 lines

Subtask #6:

score: 0
Wrong Answer

Test #30:

score: 17
Accepted
time: 565ms
memory: 793036kb

input:

120000 120000
RRBBRBRBBBRBRRBRBRRRBRBRRBRRRBBRBBBBBBRBBRBRBRBRRBRBRBRRRBRBBBBRRBBRRBBRRRBRRBRBBRRRBBBRRBBBBRBBBRBBBRBBBRBBRBBBBRBBBBRRBRRRRRRRBRRRBRBBBRBBBBRBBRBRBRRBBRRBRBBBBRBBBRBBRRBBBBRBBBBRBRRBRBBRBBBBRRBBBBBBRBBRBBBBBBRBBRRRRRBBBRBBBRBRRBBRBRBRBBRRBRRBBBRBRBRRRBBRRBBRRRRBRRBBRRBBBBBBBRBBBRBBBR...

output:

83101
101089
86861
90592
87368
108738
85550
95262
105111
86861
84761
89448
86987
84642
85927
98400
101647
115069
86358
88161
88124
102000
90017
82325
88897
98142
108041
110441
85050
97578
100054
87655
103638
97493
109084
94342
87147
88779
96474
87274
96348
81879
109022
85971
93668
106944
103118
8279...

result:

ok 120000 lines

Test #31:

score: 0
Wrong Answer
time: 750ms
memory: 795092kb

input:

120000 120000
RRBBRBBRRRBBBRRRBBBBBBRRBRBRRRRRBRRBBRRRBBRRRBRRRBRRBRRRRBRRBBBBRRBBRRRRBRBBRBRRRBBBRBBRRRBRBBRBRBBRRRRBBBBBRBBBRRBBBRRBRBRBBBRBBRRBRRBRBRBBBRBRBBBBBBRRRRRBBBRBRRRBBRBRRRBRRRRRRBBBBRBRBRRRRBBRBBRRBRBRBBBBBBRBBBBBBRBRBRBRBBRBRRBRRRBRRRRBBBBBRBBRBRBBRBBRBBRRRRRBRRRBRBRRBRRRBBRBRBRRBRBBBR...

output:

92866
110882
108810
90785
94071
80631
102550
84384
94229
84658
84179
82401
109858
98116
83182
93411
91943
87027
87274
109575
91746
80319
88127
89078
81770
88487
86883
88321
91389
101033
88090
107250
105110
106812
83499
111670
84865
86487
81207
109597
83842
115123
89424
81691
84640
84875
85595
89074
...

result:

wrong answer 10th lines differ - expected: '84657', found: '84658'

Subtask #7:

score: 0
Skipped

Dependency #1:

100%
Accepted

Dependency #2:

100%
Accepted

Dependency #3:

0%