結果
| 問題 | 
                            No.602 隠されていたゲーム2
                             | 
                    
| コンテスト | |
| ユーザー | 
                             | 
                    
| 提出日時 | 2020-11-23 17:57:33 | 
| 言語 | C++14  (gcc 13.3.0 + boost 1.87.0)  | 
                    
| 結果 | 
                             
                                WA
                                 
                             
                            
                         | 
                    
| 実行時間 | - | 
| コード長 | 1,186 bytes | 
| コンパイル時間 | 1,711 ms | 
| コンパイル使用メモリ | 173,324 KB | 
| 実行使用メモリ | 13,756 KB | 
| 最終ジャッジ日時 | 2024-07-23 17:38:11 | 
| 合計ジャッジ時間 | 8,479 ms | 
| 
                            ジャッジサーバーID (参考情報)  | 
                        judge2 / judge4 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 3 | 
| other | AC * 10 WA * 6 RE * 1 TLE * 2 -- * 2 | 
ソースコード
#include <bits/stdc++.h>
using namespace std;
using ll = long long int;
using P = pair<int, int>;
using vi = vector<int>;
using vl = vector<ll>;
using vll = vector<vl>;
#define rep(i, n) for (int i = 0; i < (int)(n); i++)
#define rep1(i, n) for (int i = 1; i <= (int)(n); i++)
const ll INF = 1LL << 60;
const double pi = acos(-1);
ll mod = 1000000007;
int main() {
    int n; cin >> n;
    vector<ll> d(n);
    rep(i,n) {
        cin >> d[i];
    }
    sort(d.begin(),d.end());
    ll x,y; cin >> x >> y;
    ll sum = abs(x) + abs(y);
    int ans = 3;
    if(x != 0 || y != 0) {
        rep(i,n){
            if(d[i] == sum) {
                ans = min(ans,1);
                break;
            }
            int j = i + 1;
            while(d[i] + d[j] <= sum) {
                if(d[i] + d[j] == sum) {
                    ans = 2;
                }
                j++;
            }
            j = i + 1;
            while(d[j] - d[i] <= sum) {
                if(d[j] - d[i] == sum) {
                    ans = 2;
                }
                j++;
            }
        }
    }else{
        ans = 0;
    }
    if(ans == 3) ans = -1;
    cout << ans << endl;
    return 0;
}