結果

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

テストケース

テストケース表示
入力 結果 実行時間
使用メモリ
01.txt AC 3 ms
1,516 KB
02.txt AC 2 ms
1,512 KB
03.txt AC 295 ms
1,600 KB
04.txt AC 237 ms
1,596 KB
05.txt AC 127 ms
1,568 KB
06.txt AC 84 ms
1,560 KB
07.txt AC 30 ms
1,544 KB
08.txt AC 4 ms
1,520 KB
09.txt AC 40 ms
1,560 KB
10.txt AC 291 ms
1,596 KB
99_system_test1.txt AC 3 ms
1,512 KB
challenge01.txt AC 251 ms
1,600 KB
challenge02.txt AC 198 ms
1,608 KB
challenge03.txt AC 170 ms
1,600 KB
system_test1.txt AC 291 ms
1,596 KB
system_test2.txt AC 265 ms
1,596 KB
system_test3.txt AC 8 ms
1,524 KB
system_test4.txt AC 170 ms
1,592 KB
system_test5.txt AC 144 ms
1,592 KB
system_test6.txt AC 6 ms
1,528 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