二分答案

正在进行… XCPC 开始于: 2026-2-3 20:00 48 小时 主持人: 8

#include<bits/stdc++.h>
using namespace std;
const int N=1e5+5;
int a[N],n,k,nk;

int find(int wjt){
    int l =1,r = n;
    while(l<=r){
        int mid = (l+r)/2;
        if(a[mid] >= wjt){
            r=mid-1;
        }else{
            l =mid+1;
        }
    }
    if(l > n) return -1;
    return l;
}

int main(){
    scanf("%d", &n);
    for (int i =1;i<=n;i++){
        scanf("%d", &a[i]);
    }
    scanf("%d", &nk);
    for(int i =1;i<=nk;i++){
        scanf("%d", &k);
        int res = find(k);
        if(i == 1){
            printf("%d", res);
        }else{
            printf(" %d", res);
        }
    }
    return 0;
}

我们会在赛后检查代码相似度。

状态
正在进行…
规则
XCPC
题目
10
开始于
2026-2-3 20:00
结束于
2026-2-5 20:00
持续时间
48 小时
主持人
参赛人数
8