QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#767253#9736. Kind of Bingoi_wish_a_girl_friend#WA 7ms3560kbC++201.4kb2024-11-20 20:20:522024-11-20 20:21:00

Judging History

你现在查看的是最新测评结果

  • [2024-11-20 20:21:00]
  • 评测
  • 测评结果:WA
  • 用时:7ms
  • 内存:3560kb
  • [2024-11-20 20:20:52]
  • 提交

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();
}

Details

Tip: Click on the bar to expand more detailed information

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'