結果
問題 | 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; }