ACM 找球號(一)

OpenSoucre發表於2014-04-19

找球號(一)

時間限制:3000 ms  |  記憶體限制:65535 KB
難度:3
 
描述
在某一國度裡流行著一種遊戲。遊戲規則為:在一堆球中,每個球上都有一個整數編號i(0<=i<=100000000),編號可重複,現在說一個隨機整數k(0<=k<=100000100),判斷編號為k的球是否在這堆球中(存在為"YES",否則為"NO"),先答出者為勝。現在有一個人想玩玩這個遊戲,但他又很懶。他希望你能幫助他取得勝利。
 
輸入
第一行有兩個整數m,n(0<=n<=100000,0<=m<=1000000);m表示這堆球裡有m個球,n表示這個遊戲進行n次。
接下來輸入m+n個整數,前m個分別表示這m個球的編號i,後n個分別表示每次遊戲中的隨機整數k
輸出
輸出"YES"或"NO"
樣例輸入
6 4
23 34 46 768 343 343
2 4 23 343
樣例輸出
NO
NO
YES
YES

簡單的set 的應用
#include <iostream>
#include <set>
#include <algorithm>

using namespace std;

int main(){
    int m,n;
    cin >>m >>n;
    set<long long> a;
    for(int i = 0 ; i < m ; ++ i)
    {
        long long  b;
        cin >>b;
        a.insert(b);
    }
    for(int i = 0 ; i < n ; ++ i){
        int b;
        cin >> b;
        if(a.find(b)!=a.end()) cout<<"YES"<<endl;
        else cout<<"NO"<<endl;
    }
}

 



相關文章