結果
| 問題 |
No.9 モンスターのレベル上げ
|
| ユーザー |
A63635985
|
| 提出日時 | 2018-03-01 02:28:04 |
| 言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,474 bytes |
| コンパイル時間 | 626 ms |
| コンパイル使用メモリ | 72,636 KB |
| 実行使用メモリ | 6,824 KB |
| 最終ジャッジ日時 | 2024-12-23 07:05:21 |
| 合計ジャッジ時間 | 2,202 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 14 WA * 6 |
ソースコード
#include <iostream>
#include <vector>
#include <map>
#include <queue>
using namespace std;
struct Struct{
int count,level;
bool operator<(const Struct &other)const{
if(level==other.level)
return count>other.count;
else
return level>other.level;
}
};
int main(){
int N;
cin >>N;
vector <int>b;
vector <Struct> a;
priority_queue <Struct> aaa;
for(int i=0 ; i<N ; i++ ){
Struct x;cin >> x.level;
x.count=0;
a.push_back(x);
aaa.push(x);
}for(int i=0 ; i<N ; i++ ){
int x;cin >> x;
b.push_back(int((x/2)-0.4));
}
int Max=2000000000;
for(int i=0 ; i<N ; i++ ){
priority_queue<Struct> now=aaa;
int counter=0,tmax=0;
while(counter!=N){
int l=(i+counter)%N;
Struct next;
next.level=now.top().level+b[l];
next.count=now.top().count+1;
now.pop();
now.push(next);
counter++;
if(tmax<next.count)tmax=next.count;
if(Max<=tmax)break;
}
if(Max>tmax)Max=tmax;
}
cout <<Max<<endl;
return 0;
}
A63635985