結果
| 問題 |
No.1071 ベホマラー
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2020-06-06 09:50:26 |
| 言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
TLE
|
| 実行時間 | - |
| コード長 | 588 bytes |
| コンパイル時間 | 596 ms |
| コンパイル使用メモリ | 63,872 KB |
| 実行使用メモリ | 14,720 KB |
| 最終ジャッジ日時 | 2024-12-23 06:25:46 |
| 合計ジャッジ時間 | 46,875 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 5 |
| other | AC * 5 TLE * 15 |
ソースコード
#include <iostream>
int main(){
unsigned N,K,X,Y;
std::cin>>N>>K>>X>>Y;
int *A=new int[N];
int *NowHp=new int[N];
for (int i=0;i<N;i++){
std::cin>>A[i];
NowHp[i]=1;
}
int finish=0,UsedMp=0;
while(finish==0){
int NeedHeal=0;
for (int i=0;i<N;i++){
if(NowHp[i]<A[i]){
NeedHeal++;
}
}
if(NeedHeal==0){
finish++;
}else if(NeedHeal*X<Y){
for(int i=0;i<N;i++){
while(NowHp[i]<A[i]){
NowHp[i]+=K;
UsedMp+=X;
}
}
finish++;
}else {
for(int i=0;i<N;i++){
NowHp[i]+=K;
}
UsedMp+=Y;
}
}
std::cout<<UsedMp;
return 0;
}