我的AC代码如下:
#include <cstdio>
#include <cstring>
#include <iostream>
#include <cmath>
#include <algorithm>
#include <string>
using namespace std;
int n, m;
int main() {
cin >> m >> n;
int a[m * n + 1];
int John[n + 1];
for (int i = 1; i <= n; i++) {
cin >> John[i];
}
sort(John + 1, John + n + 1);
int j = 1;
for (int i = 1, aa = 1; i <= m * n; i++) {
if (i == John[aa]) {
aa++;
} else {
a[j] = i;
j++;
}
}
// for (int i = 1; i <= j - 1; i++) {
// cout << a[i] << " ";
// }
int sum = 0;
int node = 0;
for (int i = n; i >= 1; i--) {
int sum2 = 0;
for (int b = 1 + (n - i); b <= j - 1; b++) {
// cout << a[b] << " " << John[i] << endl;
if (a[b] < John[i]) {
sum2++;
} else {
cout << sum;
return 0;
}
}
if (sum2 == j - 1 - (n - i)) {
sum++;
}
}
return 0;
}
按我的代码样例2会输出2,然后输出给了个四。。。 再然后,我找了最顶层的题解试了一下发现这篇题解的输出是4. 这是为什么。。。。。。。