QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#629609#6429. Let's Play CurlingtraveluckyAC ✓347ms21368kbC++141.8kb2024-10-11 13:42:382024-10-11 13:42:39

Judging History

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

  • [2024-10-11 13:42:39]
  • 评测
  • 测评结果:AC
  • 用时:347ms
  • 内存:21368kb
  • [2024-10-11 13:42:38]
  • 提交

answer

//
// Created by travel on 2024/10/11.
//
#include<bits/stdc++.h>
using namespace std;
#define int long long
typedef pair<int,int> PII;
#define endl "\n"
#define ft first
#define sd second
#define pb push_back
const int mod = 1e9 + 7;
int n,m;
const int N = 1e5 + 10;
int a[N],b[N];
void solve(){
    cin>>n>>m;
    vector<PII> v;
    map<int,int> mp,st;
    for(int i = 1;i <= n;i++){
        cin>>a[i];
        mp[a[i]]++;
    }
    for(int i = 1;i <= m;i++){
        cin>>b[i];
        if(mp.count(b[i])){
            st[b[i]] = 1;
        }
    }
    for(int i = 1;i <= n;i++){
        if(!st[a[i]]) v.push_back({a[i],1});
    }
    for(int i = 1;i <= m;i++)
        v.push_back({b[i],0});
    sort(v.begin(),v.end());
//    for(int i = 0;i < v.size();i++)
//        cout<<v[i].first << ' '<<v[i].second<<endl;
//    cout<<endl;
    int maxv = 0,last = -1,cnt = 1;
    for(int i = 0;i < v.size();i++){
        if(i == 0) last = v[i].second,cnt = 1;
        else if(i == v.size() - 1){
            if(last == 1 && v[i].second == 1)
            {
                maxv = max(maxv,cnt + 1);
            }
            else if(last == 1 && v[i].second == 0)
                maxv = max(maxv,cnt);
            else if (last == 0 && v[i].second == 1)
                maxv = max(maxv,1ll);
        }
        else{
            if(last != v[i].second)
            {
                if(last == 1) maxv = max(maxv,cnt);
                last = v[i].second;
                cnt = 1;
            }
            else cnt++;
        }
    }
    if(maxv == 0) cout<<"Impossible"<<endl;
    else cout<<maxv<<endl;
}
signed main()
{
    ios::sync_with_stdio(0);
    cin.tie(0);cout.tie(0);
    int T ; cin>>T;
    while(T--)
        solve();
    return 0;
}

詳細信息

Test #1:

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

input:

3
2 2
2 3
1 4
6 5
2 5 3 7 1 7
3 4 3 1 10
1 1
7
7

output:

2
3
Impossible

result:

ok 3 lines

Test #2:

score: 0
Accepted
time: 347ms
memory: 21368kb

input:

5553
12 19
8 8 11 18 12 9 15 38 6 32 30 30
17 28 33 2 37 20 11 38 36 18 18 30 20 33 13 31 33 37 8
12 6
7 12 14 2 19 2 17 7 4 20 1 13
7 18 23 22 1 16
8 7
5 2 4 2 4 5 8 12
13 16 6 6 5 16 11
5 7
5 13 3 8 3
11 6 9 11 13 8 11
17 19
944782509 244117333 140979583 661724696 617847780 321687699 418677763 725...

output:

1
3
4
3
4
8
11
4
2
4
5
2
4
1
11
3
2
4
2
3
5
4
1
4
9
1
3
9
2
2
1
4
5
12
2
3
4
5
4
4
11
4
5
7
3
5
4
4
5
1
3
2
4
5
5
2
6
8
3
4
3
2
2
7
2
5
3
4
1
2
5
3
6
5
1
4
1
1
2
3
4
7
9
1
2
3
16
5
5
4
3
4
3
4
3
1
2
3
3
2
2
2
5
2
7
1
1
2
4
7
2
3
7
12
1
1
1
5
3
4
1
3
2
4
3
2
3
5
4
8
10
6
2
6
2
1
6
1
3
6
2
1
9
8
1
2
3...

result:

ok 5553 lines