結果

問題 No.467 隠されていたゲーム
ユーザー めうめう🎒めうめう🎒
提出日時 2016-12-30 19:23:52
言語 C++11
(gcc 13.3.0)
結果
AC  
実行時間 2 ms / 2,000 ms
コード長 843 bytes
コンパイル時間 606 ms
コンパイル使用メモリ 73,456 KB
実行使用メモリ 6,820 KB
最終ジャッジ日時 2024-10-04 16:25:01
合計ジャッジ時間 1,317 ms
ジャッジサーバーID
(参考情報)
judge5 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 24
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <algorithm>
#include <cstdio>
#include <iostream>
#include <map>
#include <math.h>
#include <queue>
#include <set>
#include <sstream>
#include <stack>
#include <string>
#include <vector>
using namespace std;

#define ll long long
#define INF (1 << 30)
#define INFLL (1LL << 60)

#define FOR(i,a,b) for(ll i = (a);i<(b);i++)
#define REP(i,a) FOR(i,0,(a))
#define MP make_pair

int main() {
	ll d[20], n, x, y;
	cin >> n;
	REP(i, n){
		cin >> d[i];
	}
	cin >> x >> y;
	ll m = max(abs(x), abs(y));
	ll ans = INF;
	if(m == 0){
		ans = 0;
		cout << ans << endl;
	}else{
		ll dMax = 0;
		REP(i, n){
			if(m == d[i]) ans = 1;
			dMax = max(dMax, d[i]);
		}

		ll ans2 = m / dMax;
		if(ans2 > 0) ans2--;
		ll last = m - ans2 * dMax;
		if(last == dMax) ans2++;
		else if(last != 0) ans2 += 2;

		cout << min(ans, ans2) << endl;
	}
	return 0;
}
0