結果
問題 | No.9 モンスターのレベル上げ |
ユーザー |
👑 ![]() |
提出日時 | 2020-09-27 12:38:47 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 425 ms / 5,000 ms |
コード長 | 729 bytes |
コンパイル時間 | 1,580 ms |
コンパイル使用メモリ | 173,640 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-06-30 11:57:58 |
合計ジャッジ時間 | 6,152 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 20 |
ソースコード
#include<bits/stdc++.h> using namespace std; using LL = long long; using ULL = unsigned long long; #define rep(i,n) for(int i=0; i<(n); i++) int N; int A[1500]; int B[3000]; int main() { cin >> N; rep(i, N) cin >> A[i]; rep(i, N) cin >> B[i]; rep(i, N) B[i + N] = B[i] = B[i] / 2; int ans = N; rep(s, N) { priority_queue<pair<int, int>> Q; rep(i, N) Q.push({ -A[i], 0 }); rep(i, N) { auto p = Q.top(); Q.pop(); p.second--; p.first -= B[s + i]; Q.push(p); } int tmp = 0; while (Q.size()) { tmp = max(tmp, -Q.top().second); Q.pop(); } ans = min(ans, tmp); } cout << ans << endl; return 0; }