QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#767253 | #9736. Kind of Bingo | i_wish_a_girl_friend# | WA | 7ms | 3560kb | C++20 | 1.4kb | 2024-11-20 20:20:52 | 2024-11-20 20:21:00 |
Judging History
answer
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
#define int long long
#define pii pair<int, int>
int n, m, k;
inline pii get(int x)
{
// x = (i - 1) * m + j;
int j = x % m;
if (j == 0)
j = m;
int i = (x - j) / m + 1;
return make_pair(i, j);
}
int vis[100100], p[100100];
inline bool check(int x)
{
for (int i = 1; i <= m; ++i)
vis[i] = 0;
int Max = 0, id = 0;
for (int i = 1; i <= x; ++i)
{
pii tmp = get(p[i]);
vis[tmp.first]++;
if (vis[tmp.first] > Max)
Max = vis[tmp.first], id = tmp.first;
}
if (m - vis[id] <= k)
{
// cout << x << ' ' << m << ' ' << id << ' ' << vis[id] << ' ' << k << " ??\n";
return 1;
}
else
return 0;
}
void Solve()
{
cin >> n >> m >> k;
for (int i = 1; i <= n * m; ++i)
{
cin >> p[i];
}
int l = m, r = n * m;
while (l < r - 1)
{
int mid = l + r >> 1;
if (check(mid))
r = mid;
else
l = mid;
}
// cout << l << ' ' << r << ' ' << check(l) << ' ' << check(r) << " !!\n";
if (check(l))
cout << l << endl;
else
cout << r << endl;
}
signed main()
{
ios::sync_with_stdio(0);
cin.tie(0);
int T = 1;
cin >> T;
while (T--)
Solve();
}
詳細信息
Test #1:
score: 100
Accepted
time: 0ms
memory: 3492kb
input:
3 3 5 2 1 4 13 6 8 11 14 2 7 10 3 15 9 5 12 2 3 0 1 6 4 3 5 2 2 3 1000000000 1 2 3 4 5 6
output:
7 5 3
result:
ok 3 number(s): "7 5 3"
Test #2:
score: -100
Wrong Answer
time: 7ms
memory: 3560kb
input:
10000 1 9 7 8 9 1 5 3 7 4 6 2 1 8 2 7 5 1 6 4 2 3 8 1 1 0 1 1 8 3 5 7 8 3 2 1 4 6 1 10 948645336 3 10 1 6 2 8 9 5 7 4 1 1 0 1 1 10 7 5 3 10 8 1 7 4 9 6 2 1 9 6 4 8 5 7 2 6 3 1 9 1 7 1 3 5 1 6 2 7 4 1 6 6 5 3 1 2 4 6 1 1 1 1 1 2 0 1 2 1 1 1 1 1 6 3 5 6 2 4 3 1 1 5 673454194 2 3 1 4 5 1 4 1 1 4 2 3 1 ...
output:
9 8 1 8 10 1 10 9 7 6 1 2 1 6 5 4 1 7 3 3 6 8 9 10 5 6 2 10 4 2 5 7 10 1 4 1 3 9 1 2 4 3 10 5 5 2 5 6 9 5 10 1 7 5 2 2 7 1 2 9 8 9 1 6 6 2 2 1 2 6 4 6 1 2 6 4 2 3 4 7 3 4 1 6 3 5 10 7 4 1 10 3 4 2 6 10 1 8 4 9 9 10 4 6 3 3 6 2 2 6 6 10 7 7 1 3 2 7 9 3 4 4 5 6 3 7 5 6 5 5 8 2 6 6 9 7 7 10 8 1 1 10 7 ...
result:
wrong answer 4011th numbers differ - expected: '4', found: '2'