O(n+m)算法,AC了,题目是不是得想办法加强?
查看原帖
O(n+m)算法,AC了,题目是不是得想办法加强?
681103
huaji_huaji楼主2023/8/29 18:16

(超级juruo,有错轻喷)

#include <bits/stdc++.h>
#include <unordered_map>
using namespace std;
inline int read(){
    int x=0,f=1;
    char ch=getchar();
    while(ch<'0'||ch>'9'){if(ch=='-')f=-f;ch=getchar();}
    while(ch>='0'&&ch<='9'){x=(x<<1)+(x<<3)+(ch^48);ch=getchar();}
    return x*f;
}
inline void write(int x){
    if(x<0){
        putchar('-');
        x=-x;
    }
    if(x>9)write(x/10);
    putchar(x%10+'0');
}
int n,m;
int a[1000001];
unordered_map<int,int>mp;
int main(){
    n=read();m=read();
    for(int i=1;i<=n;i++){
        int x=read();
        if(!mp[x])mp[x]=i;
    }
    while(m--){
        int x=read();
        write(mp[x]?mp[x]:-1);
        putchar(' ');
    }
    
    return 0;
}
2023/8/29 18:16
加载中...