社区讨论
基础赛T3 10pts求助
学术版参与者 4已保存回复 13
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 13 条
- 当前快照
- 1 份
- 快照标识符
- @lo1oca2m
- 此快照首次捕获于
- 2023/10/23 00:19 2 年前
- 此快照最后确认于
- 2023/11/03 01:00 2 年前
rt.
CPP#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <cmath>
#include <climits>
#include <iomanip>
#include <string>
#include <map>
#include <stack>
#include <queue>
#include <set>
#include <algorithm>
using namespace std;
typedef long long ll;
template <typename T>
void read(T &x) {
x = 0;
int f = 1;
char ch = getchar();
while (!isdigit(ch)) {
if (ch == '-') f = -f;
ch = getchar();
}
while (isdigit(ch)) {
x = x * 10 + (ch - '0');
ch = getchar();
}
x *= f;
}
template <typename T>
void print(T x) {
if (x < 0) x = -x, putchar('-');
if (x < 10) putchar(x + '0');
else {
print(x / 10);
putchar(x % 10 + '0');
}
}
ll n, m, q, k, r[200010], c[200010];
ll ans;
int main() {
// freopen("paint2.in", "r", stdin);
// freopen(".out", "w", stdout);
read(n);read(m);read(q);read(k);
while (q--) {
ll op, x;
read(op);read(x);
if (op == 1) ++r[x];
else ++c[x];
}
sort(c + 1, c + m + 1);
ll y = 0;
for (ll i = 1; i <= m; ++i) if (!c[i]) y = i;
for (ll i = 1; i <= n; ++i) {
ll x = lower_bound(c + 1, c + m + 1, k - r[i]) - c - 1ll;
ans += x;
if (!r[i]) {
ans -= y;
}
}
print(ans);
return 0;
}
回复
共 13 条回复,欢迎继续交流。
正在加载回复...