結果
問題 | No.9 モンスターのレベル上げ |
ユーザー |
![]() |
提出日時 | 2022-11-10 09:44:36 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 416 ms / 5,000 ms |
コード長 | 747 bytes |
コンパイル時間 | 2,026 ms |
コンパイル使用メモリ | 172,940 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-07-23 12:43:12 |
合計ジャッジ時間 | 6,065 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 20 |
ソースコード
#include <bits/stdc++.h> using namespace std; typedef long long ll; typedef pair<int,int> pii; #define rep(i,n) for(int i=0;i<(n);i++) int n,a[3010],b[3010],ans=1e9; priority_queue<pii> pq; int main() { cin>>n; for (int i=1;i<=n;++i) cin>>a[i],a[n+i]=a[i]; for (int i=1;i<=n;++i) cin>>b[i],b[n+i]=b[i]; for (int i=1;i<=n;++i) { for (int j=1;j<=n;++j) pq.push(make_pair(-a[j],0)); for (int j=i;j<i+n;++j) { pii p=pq.top(); pq.pop(); p.first-=b[j]/2; p.second-=1; pq.push(p); } int mx=0; while (!pq.empty()) { mx=max(mx,-pq.top().second); pq.pop(); } if (mx<ans) ans=mx; } cout<<ans<<endl; return 0; }