题解:CF401B Sereja and Contests
-
最多的场数就是
1 到n−1 的编号中没有记录的场次数。 -
最少的场数就是每连续两场未记录的场次记成一个
div1 和一个div2 。
所以,模拟即可。
AC Code
#include <bits/stdc++.h>
using namespace std;
bool b[40005];
int main() {
int n, k;
cin >> n >> k;
for (int i = 1; i <= k; i++) {
int y;
cin >> y;
int o, p;
if (y == 2)cin >> o, b[o] = true;
else cin >> o >> p, b[o] = b[p] = true;
}
int ans = 0;
for (int i = 1; i < n; i++) {
if (b[i] == false) {
ans++;
}
}
int sum = ans;
for (int i = 1; i < n; i++) {
if (b[i] == false && b[i + 1] == false && i + 1 < n) {
sum--;
i++;
}
}
cout << sum << ' ' << ans << endl;
return 0;
}