提出 #10693038
ソースコード 拡げる
#include<bits/stdc++.h>
#define rep(i,a,b) for(int i=a;i<b;i++)
#define rrep(i,a,b) for(int i=a;i>=b;i--)
#define fore(i,a) for(auto &i:a)
#define all(x) (x).begin(),(x).end()
//#pragma GCC optimize ("-O3")
using namespace std; void _main(); int main() { cin.tie(0); ios::sync_with_stdio(false); _main(); }
typedef long long ll; const int inf = INT_MAX / 2; const ll infl = 1LL << 60;
template<class T>bool chmax(T& a, const T& b) { if (a < b) { a = b; return 1; } return 0; }
template<class T>bool chmin(T& a, const T& b) { if (b < a) { a = b; return 1; } return 0; }
//---------------------------------------------------------------------------------------------------
/*---------------------------------------------------------------------------------------------------
∧_∧
∧_∧ (´<_` ) Welcome to My Coding Space!
( ´_ゝ`) / ⌒i @hamayanhamayan0
/ \ | |
/ / ̄ ̄ ̄ ̄/ |
__(__ニつ/ _/ .| .|____
\/____/ (u ⊃
---------------------------------------------------------------------------------------------------*/
int N, T, A[201010], B[201010];
ll dp[201010][40];
//---------------------------------------------------------------------------------------------------
void _main() {
cin >> N >> T;
rep(i, 0, N) cin >> A[i] >> B[i], B[i]++;
vector<int> one;
rep(i, 0, N) if (1 <= A[i]) one.push_back(i);
sort(all(one), [&](int x, int y) { // aybx < axby
return 1LL * A[y] * B[x] < 1LL * A[x] * B[y];
});
int M = one.size();
rep(i, 0, M + 1) rep(j, 0, 35) dp[i][j] = inf;
dp[0][0] = 1;
rep(i, 0, M) rep(j, 0, 35) if (dp[i][j] != inf) {
int id = one[i];
chmin(dp[i + 1][j], dp[i][j]);
chmin(dp[i + 1][j + 1], dp[i][j] + 1LL * A[id] * dp[i][j] + B[id]);
}
vector<ll> zeros;
rep(i, 0, N) if (A[i] == 0) zeros.push_back(B[i]);
sort(all(zeros));
int mm = zeros.size();
rep(i, 1, mm) zeros[i] += zeros[i - 1];
zeros.push_back(infl);
int ans = 0;
rep(cn, 0, 35) if (dp[M][cn] - 1 <= T) {
ll t = dp[M][cn] - 1;
int cnt = cn;
ll rest = T - t;
int zero = upper_bound(all(zeros), rest) - zeros.begin();
chmax(ans, cn + zero);
}
cout << ans << endl;
}
提出情報
| 提出日時 | |
|---|---|
| 問題 | D - Manga Market |
| ユーザ | hamayanhamayan |
| 言語 | C++14 (GCC 5.4.1) |
| 得点 | 800 |
| コード長 | 2390 Byte |
| 結果 | AC |
| 実行時間 | 88 ms |
| メモリ | 65524 KiB |
ジャッジ結果
| セット名 | Sample | All | ||||
|---|---|---|---|---|---|---|
| 得点 / 配点 | 0 / 0 | 800 / 800 | ||||
| 結果 |
|
|
| セット名 | テストケース |
|---|---|
| Sample | 00-sample-00, 00-sample-01, 00-sample-02, 00-sample-03 |
| All | 00-sample-00, 00-sample-01, 00-sample-02, 00-sample-03, 01-handmade-00, 01-handmade-01, 01-handmade-02, 01-handmade-03, 01-handmade-04, 01-handmade-05, 02-small-00, 02-small-01, 02-small-02, 02-small-03, 02-small-04, 02-small-05, 02-small-06, 02-small-07, 02-small-08, 02-small-09, 02-small-10, 02-small-11, 02-small-12, 02-small-13, 02-small-14, 02-small-15, 02-small-16, 02-small-17, 02-small-18, 02-small-19, 03-large-00, 03-large-01, 03-large-02, 03-large-03, 03-large-04, 03-large-05, 03-large-06, 03-large-07, 03-large-08, 03-large-09, 03-large-10, 03-large-11, 03-large-12, 03-large-13, 03-large-14, 04-large2-00, 04-large2-01, 04-large2-02, 04-large2-03, 04-large2-04, 04-large2-05, 04-large2-06, 04-large2-07, 04-large2-08, 04-large2-09, 04-large2-10, 04-large2-11, 04-large2-12, 04-large2-13, 04-large2-14, 05-a01-00, 05-a01-01, 05-a01-02, 05-a01-03, 05-a01-04, 05-a01-05, 05-a01-06, 06-almost_a0-00, 06-almost_a0-01, 06-almost_a0-02, 06-almost_a0-03, 06-almost_a0-04, 06-almost_a0-05, 06-almost_a0-06, 07-a01_almost_a0-00, 07-a01_almost_a0-01, 07-a01_almost_a0-02, 07-a01_almost_a0-03, 07-a01_almost_a0-04, 07-a01_almost_a0-05, 07-a01_almost_a0-06 |
| ケース名 | 結果 | 実行時間 | メモリ |
|---|---|---|---|
| 00-sample-00 | AC | 2 ms | 2304 KiB |
| 00-sample-01 | AC | 2 ms | 2304 KiB |
| 00-sample-02 | AC | 1 ms | 2304 KiB |
| 00-sample-03 | AC | 2 ms | 2304 KiB |
| 01-handmade-00 | AC | 1 ms | 2304 KiB |
| 01-handmade-01 | AC | 36 ms | 5364 KiB |
| 01-handmade-02 | AC | 84 ms | 65524 KiB |
| 01-handmade-03 | AC | 77 ms | 65524 KiB |
| 01-handmade-04 | AC | 74 ms | 65524 KiB |
| 01-handmade-05 | AC | 66 ms | 65524 KiB |
| 02-small-00 | AC | 2 ms | 2304 KiB |
| 02-small-01 | AC | 2 ms | 2304 KiB |
| 02-small-02 | AC | 2 ms | 2304 KiB |
| 02-small-03 | AC | 2 ms | 2304 KiB |
| 02-small-04 | AC | 2 ms | 2304 KiB |
| 02-small-05 | AC | 2 ms | 2304 KiB |
| 02-small-06 | AC | 2 ms | 2304 KiB |
| 02-small-07 | AC | 2 ms | 2304 KiB |
| 02-small-08 | AC | 2 ms | 2304 KiB |
| 02-small-09 | AC | 2 ms | 2304 KiB |
| 02-small-10 | AC | 1 ms | 2304 KiB |
| 02-small-11 | AC | 2 ms | 2304 KiB |
| 02-small-12 | AC | 2 ms | 2304 KiB |
| 02-small-13 | AC | 1 ms | 2304 KiB |
| 02-small-14 | AC | 2 ms | 2304 KiB |
| 02-small-15 | AC | 2 ms | 2304 KiB |
| 02-small-16 | AC | 2 ms | 2304 KiB |
| 02-small-17 | AC | 2 ms | 2304 KiB |
| 02-small-18 | AC | 2 ms | 2304 KiB |
| 02-small-19 | AC | 2 ms | 2304 KiB |
| 03-large-00 | AC | 27 ms | 23420 KiB |
| 03-large-01 | AC | 40 ms | 31736 KiB |
| 03-large-02 | AC | 3 ms | 3200 KiB |
| 03-large-03 | AC | 87 ms | 65524 KiB |
| 03-large-04 | AC | 13 ms | 12928 KiB |
| 03-large-05 | AC | 79 ms | 59124 KiB |
| 03-large-06 | AC | 41 ms | 31864 KiB |
| 03-large-07 | AC | 88 ms | 65524 KiB |
| 03-large-08 | AC | 64 ms | 48628 KiB |
| 03-large-09 | AC | 62 ms | 46452 KiB |
| 03-large-10 | AC | 19 ms | 17148 KiB |
| 03-large-11 | AC | 23 ms | 19196 KiB |
| 03-large-12 | AC | 25 ms | 21244 KiB |
| 03-large-13 | AC | 39 ms | 31736 KiB |
| 03-large-14 | AC | 26 ms | 21372 KiB |
| 04-large2-00 | AC | 25 ms | 23420 KiB |
| 04-large2-01 | AC | 63 ms | 52724 KiB |
| 04-large2-02 | AC | 58 ms | 48628 KiB |
| 04-large2-03 | AC | 68 ms | 56948 KiB |
| 04-large2-04 | AC | 21 ms | 19196 KiB |
| 04-large2-05 | AC | 2 ms | 3072 KiB |
| 04-large2-06 | AC | 56 ms | 46452 KiB |
| 04-large2-07 | AC | 13 ms | 12928 KiB |
| 04-large2-08 | AC | 4 ms | 4352 KiB |
| 04-large2-09 | AC | 18 ms | 17148 KiB |
| 04-large2-10 | AC | 36 ms | 31736 KiB |
| 04-large2-11 | AC | 6 ms | 6528 KiB |
| 04-large2-12 | AC | 43 ms | 35960 KiB |
| 04-large2-13 | AC | 80 ms | 65524 KiB |
| 04-large2-14 | AC | 39 ms | 33912 KiB |
| 05-a01-00 | AC | 19 ms | 13312 KiB |
| 05-a01-01 | AC | 28 ms | 17788 KiB |
| 05-a01-02 | AC | 2 ms | 2816 KiB |
| 05-a01-03 | AC | 61 ms | 35448 KiB |
| 05-a01-04 | AC | 10 ms | 8832 KiB |
| 05-a01-05 | AC | 55 ms | 33144 KiB |
| 05-a01-06 | AC | 29 ms | 17788 KiB |
| 06-almost_a0-00 | AC | 12 ms | 3580 KiB |
| 06-almost_a0-01 | AC | 28 ms | 6004 KiB |
| 06-almost_a0-02 | AC | 26 ms | 5876 KiB |
| 06-almost_a0-03 | AC | 31 ms | 6132 KiB |
| 06-almost_a0-04 | AC | 10 ms | 3452 KiB |
| 06-almost_a0-05 | AC | 2 ms | 2432 KiB |
| 06-almost_a0-06 | AC | 28 ms | 5876 KiB |
| 07-a01_almost_a0-00 | AC | 11 ms | 3580 KiB |
| 07-a01_almost_a0-01 | AC | 16 ms | 4344 KiB |
| 07-a01_almost_a0-02 | AC | 2 ms | 2432 KiB |
| 07-a01_almost_a0-03 | AC | 32 ms | 6516 KiB |
| 07-a01_almost_a0-04 | AC | 6 ms | 2944 KiB |
| 07-a01_almost_a0-05 | AC | 30 ms | 6260 KiB |
| 07-a01_almost_a0-06 | AC | 17 ms | 4472 KiB |