結果

問題 No.9 モンスターのレベル上げ
ユーザー legosuke
提出日時 2019-01-12 03:58:16
言語 C++14
(gcc 8.2.0)
結果
AC  
実行時間 293 ms
コード長 1,493 Byte
コンパイル時間 1,854 ms
使用メモリ 1,608 KB
最終ジャッジ日時 2019-02-23 22:48:38

テストケース

テストケース表示
入力 結果 実行時間
使用メモリ
01.txt AC 3 ms
1,512 KB
02.txt AC 3 ms
1,512 KB
03.txt AC 293 ms
1,600 KB
04.txt AC 234 ms
1,600 KB
05.txt AC 126 ms
1,572 KB
06.txt AC 84 ms
1,560 KB
07.txt AC 31 ms
1,548 KB
08.txt AC 4 ms
1,520 KB
09.txt AC 44 ms
1,560 KB
10.txt AC 291 ms
1,596 KB
99_system_test1.txt AC 5 ms
1,512 KB
challenge01.txt AC 252 ms
1,596 KB
challenge02.txt AC 193 ms
1,608 KB
challenge03.txt AC 167 ms
1,596 KB
system_test1.txt AC 287 ms
1,600 KB
system_test2.txt AC 261 ms
1,600 KB
system_test3.txt AC 8 ms
1,524 KB
system_test4.txt AC 167 ms
1,596 KB
system_test5.txt AC 143 ms
1,592 KB
system_test6.txt AC 7 ms
1,524 KB
テストケース一括ダウンロード

ソースコード

diff #
#include <bits/stdc++.h>
#define int long long
#define uint unsigned int
#define REP(i, n) for (int i = 0; i < (n); ++i)
#define REPR(i, n) for (int i = (n); i >= 0; --i)
#define FOR(i, a, b) for (int i = (a); i < (b); ++i)
#define FORR(i, a, b) for (int i = (a); i >= (b); --i)
#define ALL(a) (a).begin(), (a).end()
#define RALL(a) (a).rbegin(), (a).rend()
#define SZ(a) ((int)(a).size())
#define PB(a) push_back(a)
#define EMP emplace
#define EMPB(...) emplace_back(__VA_ARGS__)
#define MP(a, b) make_pair(a, b)
#define MT(...) make_tuple(__VA_ARGS__)
#define Bit(n) (1LL << (n))
using namespace std;
using pii = pair<int, int>;
template <class T> inline bool chmin(T& a, T b) { if (a > b) { a = b; return 1; } return 0; }
template <class T> inline bool chmax(T& a, T b) { if (a < b) { a = b; return 1; } return 0; }
const int MOD = 1000000007;
const int INF = 1LL << 30;
const double EPS = 1e-10;

int N;
int A[1510], B[1510];

int calc(int x) {
  priority_queue<pii, vector<pii>, greater<pii>> que;
  REP(i, N) que.EMP(A[i], 0);
  int r = 0;
  for (int i = x; ; i=(i+1)%N) {
    pii p = que.top(); que.pop();
    que.EMP(p.first+B[i]/2, p.second+1);
    chmax(r, p.second+1);
    if ((i+1)%N == x) break;
  }
  return r;
}

signed main() {
  cin.tie(0);
  ios_base::sync_with_stdio(false);
  cout << fixed << setprecision(10);
  
  cin >> N;
  REP(i, N) cin >> A[i];
  REP(i, N) cin >> B[i];
  int ans = INF;
  REP(i, N) {
    chmin(ans, calc(i));
  }
  cout << ans << endl;

  return 0;
}
0