結果
問題 | No.9 モンスターのレベル上げ |
ユーザー |
|
提出日時 | 2022-05-06 22:38:25 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 379 ms / 5,000 ms |
コード長 | 682 bytes |
コンパイル時間 | 1,803 ms |
コンパイル使用メモリ | 176,544 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-07-06 00:00:33 |
合計ジャッジ時間 | 5,315 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 20 |
ソースコード
#include<bits/stdc++.h> using namespace std; int main(){ int N; cin >> N; vector<int> A(N),B(N); for(int i=0;i<N;i++) cin >> A[i]; for(int i=0;i<N;i++) cin >> B[i]; for(int i=0;i<N;i++) B.push_back(B[i]); int ans = 1000000000; for(int i=0;i<N;i++){ priority_queue<pair<int,int>,vector<pair<int,int>>,greater<pair<int,int>>> que; for(int j=0;j<N;j++) que.push(make_pair(A[j],0)); for(int j=i;j<i+N;j++){ que.push(make_pair(que.top().first+B[j]/2,que.top().second+1)); que.pop(); } int Max = 0; for(int j=0;j<N;j++){ Max = max(Max,que.top().second); que.pop(); } ans = min(ans,Max); } cout << ans << endl; }