# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
109684 | tincamatei | Two Dishes (JOI19_dishes) | C++14 | 123 ms | 57976 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <bits/stdc++.h>
using namespace std;
const int MAX_N = 1000000;
const int SUBTASK = 2000;
struct Dish {
int len, art;
long long limit;
} v1[1+MAX_N], v2[1+MAX_N];
long long sp1[1+MAX_N], sp2[1+MAX_N];
long long dp[1+SUBTASK][1+SUBTASK];
bool dish[1+SUBTASK][1+SUBTASK];
int main() {
#ifdef HOME
FILE *fin = fopen("input.in", "r");
FILE *fout = fopen("output.out", "w");
#else
FILE *fin = stdin;
FILE *fout = stdout;
#endif
int n, m;
fscanf(fin, "%d%d", &n, &m);
for(int i = 1; i <= n; ++i) {
fscanf(fin, "%d%lld%d", &v1[i].len, &v1[i].limit, &v1[i].art);
sp1[i] = sp1[i - 1] + v1[i].len;
if(sp1[i] <= v1[i].limit)
dp[i][0] = dp[i - 1][0] + v1[i].art;
else
dp[i][0] = dp[i - 1][0];
dish[i][0] = 0;
}
for(int i = 1; i <= m; ++i) {
fscanf(fin, "%d%lld%d", &v2[i].len, &v2[i].limit, &v2[i].art);
sp2[i] = sp2[i - 1] + v2[i].len;
if(sp2[i] <= v2[i].limit)
dp[0][i] = dp[0][i - 1] + v2[i].art;
else
dp[0][i] = dp[0][i - 1];
dish[0][i] = 1;
}
for(int i = 1; i <= n; ++i)
for(int j = 1; j <= m; ++j) {
long long t = sp1[i] + sp2[j];
long long c1 = dp[i - 1][j], c2 = dp[i][j - 1];
if(t <= v1[i].limit)
c1 += v1[i].art;
if(t <= v2[j].limit)
c2 += v2[j].art;
if(c1 > c2)
dish[i][j] = 0;
else
dish[i][j] = 1;
dp[i][j] = max(c1, c2);
}
fprintf(fout, "%lld", dp[n][m]);
fclose(fin);
fclose(fout);
return 0;
}
컴파일 시 표준 에러 (stderr) 메시지
# | 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... |