QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#702902 | #3503. Misspelling | ereoth | 0 | 195ms | 114520kb | C++14 | 1.6kb | 2024-11-02 16:46:24 | 2024-11-02 16:46:24 |
Judging History
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%