# | 제출 시각UTC-0 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
375788 | casperwang | Two Dishes (JOI19_dishes) | C++14 | 51 ms | 63136 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <bits/stdc++.h>
#define int long long
using namespace std;
#define debug(args...) kout("[ " + string(#args) + " ]", args)
void kout() { cerr << endl; }
template <class T, class ...U> void kout(T a, U ...b) { cerr << a << ' ',kout(b...); }
template <class T> void pary(T L, T R) { while (L != R) cerr << *L << " \n"[++L==R]; }
const int MAXN = 2000;
int n, m;
int a[MAXN+1], b[MAXN+1];
int s[MAXN+1], t[MAXN+1];
int p[MAXN+1], q[MAXN+1];
int ti[MAXN+1][MAXN+1];
int dp[MAXN+1][MAXN+1];
signed main() {
ios_base::sync_with_stdio(0), cin.tie(0);
cin >> n >> m;
for (int i = 1; i <= n; i++) {
cin >> a[i] >> s[i] >> p[i];
ti[i][0] = ti[i-1][0] + a[i];
}
for (int i = 1; i <= m; i++) {
cin >> b[i] >> t[i] >> q[i];
}
for (int i = 0; i <= n; i++) {
for (int j = 0; j <= m; j++) {
if (j) ti[i][j] = ti[i][j-1] + b[j];
dp[i][j] = max((i?dp[i-1][j]:0) + (ti[i][j] <= s[i]) * p[i],
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |