洛谷-P2006 趙神牛的遊戲
阿新 • • 發佈:2021-01-10
洛谷-P2006 趙神牛的遊戲
題目描述
在 DNF 中,趙神牛有一個締造者,他一共有 \(k\) 點法力值,一共有 \(m\) 個技能,每個技能耗費的法力值為 \(a_i\),可以造成的傷害為 \(b_i\),而 boss 的體力值為 \(n\),請你求出它放哪個技能,才可以打死 boss。
當然,趙神牛技術很菜,他一局只放一個技能,不過每個技能都可以放無數次。
輸入格式
第一行有三個整數,分別表示 \(k,m,n\)。
後面 \(m\) 行,每行兩個整數,第 \((i + 1)\)
輸出格式
輸出僅一行,既可以殺死 boss 的技能序號,如果有多個,按從小到大的順序輸出,中間用一個空格隔開;如果沒有技能能殺死 boss,輸出 -1
。
輸入輸出樣例
輸入 #1
100 3 5000
20 1000
90 1
110 10000
輸出 #1
1
輸入 #2
50 4 10
60 100
70 1000
80 1000
90 0
輸出 #2
-1
說明/提示
資料規模與約定
對於全部的測試點,滿足:
- \(0\le n,m,k\le 3\times 10^4\),
- \(1 \leq a_i,b_i\le 2147483647\)。
C++程式碼
#include <iostream> #include <cmath> using namespace std; int main() { int k, m, n, j=0; cin >> k >> m >> n; int a[m], b[m], ans[m]; for (int i=0; i<m; ++i) cin >> a[i] >> b[i]; for (int i=0; i<m; ++i) if (ceil(n*1.0/b[i])*a[i] <= k) ans[j++] = i + 1; if (j == 0) cout << -1; for (int i=0; i<j; ++i) cout << ans[i] << ' '; cout << endl; return 0; }