結果

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

テストケース

テストケース表示
入力 結果 実行時間
使用メモリ
01.txt AC 3 ms
6,868 KB
02.txt AC 2 ms
6,872 KB
03.txt AC 288 ms
6,872 KB
04.txt AC 240 ms
6,868 KB
05.txt AC 116 ms
6,872 KB
06.txt AC 77 ms
6,872 KB
07.txt AC 30 ms
6,872 KB
08.txt AC 3 ms
6,872 KB
09.txt AC 38 ms
6,868 KB
10.txt AC 268 ms
6,872 KB
99_system_test1.txt AC 2 ms
6,868 KB
challenge01.txt AC 225 ms
6,872 KB
challenge02.txt AC 206 ms
6,872 KB
challenge03.txt AC 190 ms
6,868 KB
system_test1.txt AC 281 ms
6,872 KB
system_test2.txt AC 247 ms
6,868 KB
system_test3.txt AC 8 ms
6,868 KB
system_test4.txt AC 158 ms
6,868 KB
system_test5.txt AC 130 ms
6,872 KB
system_test6.txt AC 4 ms
6,868 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