結果
問題 | No.1739 Princess vs. Dragoness (& AoE) |
ユーザー |
|
提出日時 | 2023-04-11 14:07:49 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 762 ms / 3,000 ms |
コード長 | 1,093 bytes |
コンパイル時間 | 799 ms |
コンパイル使用メモリ | 84,816 KB |
実行使用メモリ | 6,820 KB |
最終ジャッジ日時 | 2024-10-07 06:49:43 |
合計ジャッジ時間 | 16,523 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 40 |
ソースコード
#include<cstdio>#include<cstring>#include<iostream>#include<cmath>#include<ctime>#include<string>#include<algorithm>#include<vector>#include<queue>#include<stack>#include<map>using namespace std;typedef long long LL;const int MR=1e5+10;int n,A,B,X,Y,h[MR];int b[MR];bool cmp(int x,int y){return x%X>y%X;}bool check(int k){int a=A;LL sum=0;int cnt=0;for(int i=1;i<=n;i++){if(h[i]<=k) continue;cnt++;b[cnt]=h[i]-k;}sort(b+1,b+cnt+1,cmp);for(int i=1;i<=cnt;i++){if(a>=b[i]/X){a-=b[i]/X;b[i]%=X;}else if(a>0){b[i]-=a*X;a=0;break;}}for(int i=a+1;i<=cnt;i++){sum+=b[i];}return sum<=1ll*B*Y;}int main(){cin>>n>>A>>B>>X>>Y;for(int i=1;i<=n;i++){cin>>h[i];}int l=-1,r=1e9+10;while(l+1<r){int mid=(l+r)/2;if(check(mid)){r=mid;}else{l=mid;}}cout<<r<<endl;return 0;}