QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#755624#9736. Kind of Bingohxsj#WA 8ms3616kbC++141.1kb2024-11-16 17:46:462024-11-16 17:46:48

Judging History

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

  • [2024-11-16 17:46:48]
  • 评测
  • 测评结果:WA
  • 用时:8ms
  • 内存:3616kb
  • [2024-11-16 17:46:46]
  • 提交

answer

#include<bits/stdc++.h>
using namespace std;

const int N = 30;

int p[N];
void init()
{
    for(int i = 0;i<=N;i++)
    {
        p[i] = i;
    }
    
}
int find(int x)  // 并查集
{
    if (p[x] != x) p[x] = find(p[x]);
    return p[x];
}
void merge(int x,int y)
{
    x = find(x),y = find(y);
    if(x!=y)
    {
        p[x] = p[y];
    }
}

int main()
{
    int t;
    cin>>t;
    while(t--)
    {
        int n, m, k;
        cin >> n >> m >> k;
        vector<int> a(n * m);
        for(int i = 0; i < n * m; i++){
            cin >> a[i];
        }
        int l = m;
        int r = n * m;
        int mid;
        auto check = [&](int x){
            vector<int> st(n);
            int cnt = 0;
            for(int i = 0; i < x; i++){
                st[a[i] / m]++;
                cnt = max(cnt, st[a[i] / m]);
            }
            if(cnt + k >= m) return 1;
            return 0;
        };
        
        while(l < r){
            mid = (l + r) >> 1;
            if(check(mid)) r = mid;
            else l = mid + 1;
        }
        cout << l << endl;
    }
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 0ms
memory: 3616kb

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: 8ms
memory: 3600kb

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 2011th numbers differ - expected: '4', found: '6'