QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#702902#3503. Misspellingereoth0 195ms114520kbC++141.6kb2024-11-02 16:46:242024-11-02 16:46:24

Judging History

This is the latest submission verdict.

  • [2024-11-02 16:46:24]
  • Judged
  • Verdict: 0
  • Time: 195ms
  • Memory: 114520kb
  • [2024-11-02 16:46:24]
  • Submitted

answer

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#define int long long

using namespace std;

const int kmax = 2e6 + 3;
const int Mod = 1e9 + 7;
const int kmaxM = 26;

int n, m;
int p[2][kmax];
int stk[kmax][2], tp[2];
long long f[kmax][kmaxM], s[kmaxM][2];
long long sum[kmaxM][2], res;

signed main() {
  ios::sync_with_stdio(0);
  cin.tie(0), cout.tie(0);
  cin >> n >> m;
  for(int i = 1, x, y; i <= m; i++) {
    cin >> x >> y;
    if(x < y) {
      p[0][x] = max(p[0][x], y);
    } else {
      p[1][y] = max(p[1][y], x);
    }
  }
  for(int i = n; i; i--) {
    for(; tp[0] && p[0][i] >= stk[0][tp[0]]; tp[0]--) {
      for(int j = 0; j < kmaxM; j++) {
        s[j][0] = (s[j][0] - f[stk[0][tp[0]]][j] + Mod) % Mod;
      }
    }
    for(; tp[1] && p[1][i] >= stk[1][tp[1]]; tp[1]--) {
      for(int j = 0; j < kmaxM; j++) {
        s[j][1] = (s[j][1] - f[stk[1][tp[1]]][j] + Mod) % Mod;
      }
    }
    for(int j = 0; j < kmaxM; j++) sum[j][0] = s[j][0], sum[j][1] = s[j][1];
    for(int j = 1; j < kmaxM; j++) sum[j][0] = (sum[j][0] + sum[j - 1][0]) % Mod, sum[j][1] = (sum[j][1] + sum[j - 1][1]) % Mod;
    for(int j = 0; j < kmaxM; j++) {
      f[i][j] = (sum[kmaxM - 1][0] - sum[j][0] + 1 + Mod) % Mod;
      if(j) f[i][j] = (f[i][j] + sum[j - 1][1]) % Mod;
    }
    for(int j = 0; j < kmaxM; j++) {
      s[j][0] = (s[j][0] + f[i][j]) % Mod;
      s[j][1] = (s[j][1] + f[i][j]) % Mod;
    }
    stk[0][++tp[0]] = stk[1][++tp[1]] = i;
  }
  for(int i = 0; i < kmaxM; i++) res = (res + f[1][i]) % Mod;
  cout << res;
  return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Subtask #1:

score: 0
Wrong Answer

Test #1:

score: 0
Wrong Answer
time: 0ms
memory: 3652kb

input:

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

output:

716319415

result:

wrong answer 1st lines differ - expected: '344750796', found: '716319415'

Subtask #2:

score: 0
Skipped

Dependency #1:

0%

Subtask #3:

score: 0
Wrong Answer

Test #19:

score: 0
Wrong Answer
time: 195ms
memory: 114520kb

input:

500000 499999
5 6
6 7
7 11
11 15
15 18
18 20
20 21
21 22
22 23
23 27
27 28
28 29
29 30
30 32
32 33
33 35
35 36
36 37
37 43
43 44
44 46
46 47
47 48
48 49
49 51
51 52
52 53
53 54
54 58
58 61
61 63
63 64
64 65
65 66
66 69
69 70
70 76
76 77
77 78
78 80
80 81
81 83
83 87
87 88
88 90
90 92
92 93
93 96
96 ...

output:

220111058

result:

wrong answer 1st lines differ - expected: '19934265', found: '220111058'

Subtask #4:

score: 0
Skipped

Dependency #2:

0%

Subtask #5:

score: 0
Skipped

Dependency #1:

0%