結果

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

ソースコード

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

ll gx, gy;

ll getAns(ll d){
	ll a;
	ll minD = min(gx,gy), maxD = max(gx,gy);

	a = minD / d;
	ll how = a;
	if(minD % d != 0){
		a++;
		maxD -= d;
	}
	maxD = abs(maxD);

	ll ans = a;
	if(maxD > how * d){
		ll ret = maxD / d;
		if(maxD % d != 0) {
			if(how == 0) ret += 2;
			else ret++;
		}
		ans += ret - how;
	}

	return ans;
}

int main() {
	ll d[100], n;
	cin >> n;
	REP(i, n){
		cin >> d[i];
	}
	cin >> gx >> gy;

	ll ans = INFLL;

	for(int i = 0;i < n;i++){
		ans = min(ans, getAns(d[i]));
	}

	cout << ans << endl;

	return 0;
}
0