Submission #8473167
Source Code Expand
#pragma GCC optimize ("O3")
#pragma GCC target ("sse4")
#include <bits/stdc++.h>
#include <ext/pb_ds/tree_policy.hpp>
#include <ext/pb_ds/assoc_container.hpp>
using namespace std;
using namespace __gnu_pbds;
typedef long long ll;
typedef long double ld;
typedef complex<ld> cd;
typedef pair<int, int> pi;
typedef pair<ll,ll> pl;
typedef pair<ld,ld> pd;
typedef vector<int> vi;
typedef vector<ld> vd;
typedef vector<ll> vl;
typedef vector<pi> vpi;
typedef vector<pl> vpl;
typedef vector<cd> vcd;
template <class T> using Tree = tree<T, null_type, less<T>, rb_tree_tag,tree_order_statistics_node_update>;
#define FOR(i, a, b) for (int i=a; i<(b); i++)
#define F0R(i, a) for (int i=0; i<(a); i++)
#define FORd(i,a,b) for (int i = (b)-1; i >= a; i--)
#define F0Rd(i,a) for (int i = (a)-1; i >= 0; i--)
#define sz(x) (int)(x).size()
#define mp make_pair
#define pb push_back
#define f first
#define s second
#define lb lower_bound
#define ub upper_bound
#define all(x) x.begin(), x.end()
mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());
const int MOD = 1000000007;
const ll INF = 1e18;
const int MX = 100001; //check the limits, dummy
int main() {
ios_base::sync_with_stdio(0); cin.tie(0);
int N, T; cin >> N >> T;
int A[N], B[N]; F0R(i, N) cin >> A[i] >> B[i];
int dp[T][2];
F0R(i, T) F0R(j, 2) dp[i][j] = 0;
F0R(x, N) {
F0Rd(i, T) {
if (i + A[x] < T) {
dp[i+A[x]][0] = max(dp[i+A[x]][0], dp[i][0] + B[x]);
dp[i+A[x]][1] = max(dp[i+A[x]][1], dp[i][1] + B[x]);
}
dp[i][1] = max(dp[i][1], dp[i][0] + B[x]);
}
}
cout << dp[T-1][1] << endl;
return 0;
}
// read the question correctly (ll vs int)
// template by bqi343
Submission Info
| Submission Time | |
|---|---|
| Task | E - All-you-can-eat |
| User | Geothermal |
| Language | C++14 (GCC 5.4.1) |
| Score | 500 |
| Code Size | 1852 Byte |
| Status | AC |
| Exec Time | 32 ms |
| Memory | 256 KiB |
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 500 / 500 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | sample_01, sample_02, sample_03, sample_04 |
| All | corner_01, corner_02, corner_03, corner_04, corner_05, corner_06, corner_07, hand_01, hand_02, max_01, max_02, max_03, max_04, max_05, max_06, max_07, max_08, random_01, random_02, random_03, random_04, random_05, random_06, random_07, random_08, random_09, random_10, sample_01, sample_02, sample_03, sample_04 |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| corner_01 | AC | 2 ms | 256 KiB |
| corner_02 | AC | 4 ms | 256 KiB |
| corner_03 | AC | 8 ms | 256 KiB |
| corner_04 | AC | 2 ms | 256 KiB |
| corner_05 | AC | 2 ms | 256 KiB |
| corner_06 | AC | 2 ms | 256 KiB |
| corner_07 | AC | 8 ms | 256 KiB |
| hand_01 | AC | 1 ms | 256 KiB |
| hand_02 | AC | 1 ms | 256 KiB |
| max_01 | AC | 21 ms | 256 KiB |
| max_02 | AC | 20 ms | 256 KiB |
| max_03 | AC | 14 ms | 256 KiB |
| max_04 | AC | 14 ms | 256 KiB |
| max_05 | AC | 32 ms | 256 KiB |
| max_06 | AC | 32 ms | 256 KiB |
| max_07 | AC | 32 ms | 256 KiB |
| max_08 | AC | 32 ms | 256 KiB |
| random_01 | AC | 4 ms | 256 KiB |
| random_02 | AC | 3 ms | 256 KiB |
| random_03 | AC | 8 ms | 256 KiB |
| random_04 | AC | 2 ms | 256 KiB |
| random_05 | AC | 4 ms | 256 KiB |
| random_06 | AC | 10 ms | 256 KiB |
| random_07 | AC | 10 ms | 256 KiB |
| random_08 | AC | 3 ms | 256 KiB |
| random_09 | AC | 8 ms | 256 KiB |
| random_10 | AC | 9 ms | 256 KiB |
| sample_01 | AC | 1 ms | 256 KiB |
| sample_02 | AC | 1 ms | 256 KiB |
| sample_03 | AC | 1 ms | 256 KiB |
| sample_04 | AC | 1 ms | 256 KiB |