結果

問題 No.602 隠されていたゲーム2
ユーザー tinumukiti631
提出日時 2017-12-02 17:30:57
言語 C++11(廃止可能性あり)
(gcc 13.3.0)
結果
WA  
実行時間 -
コード長 727 bytes
コンパイル時間 1,584 ms
コンパイル使用メモリ 161,988 KB
実行使用メモリ 6,820 KB
最終ジャッジ日時 2024-11-28 03:39:19
合計ジャッジ時間 2,906 ms
ジャッジサーバーID
(参考情報)
judge1 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 14 WA * 7
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <bits/stdc++.h>
using namespace std;

int main()
{
    int N;
    int D[100005];
    int distance;
    int ans = 3;
    cin >> N;
    for(int i = 0; i < N; i++) cin >> D[i];
    sort(D, D + N);
    { int a, b; cin >> a >> b; distance = abs(a) + abs(b); }
    int j = N - 1, k = 0;
    for(int i = 0; i < N; i++) {
        if(D[i] == distance) ans = min(ans, 1); 
        while(j > 0 && D[i] + D[j] > distance) j--;
        while(k < N - 1 && D[i] - D[k] > distance) k++;
        if(D[i] + D[j] == distance) ans = min(ans, 2);
        if(D[i] - D[k] == distance) ans = min(ans, 2);
    }
    if(distance == 0) cout << 0 << endl;
    else if(ans == 3) cout << -1 << endl;
    else cout << ans << endl;

    return (0);
}
0