# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
241894 | jjwdi0 | 요리 강좌 (KOI17_cook) | C++11 | 807 ms | 66424 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
using pr = pair<int, int>;
int N, M, S, E, T, D[3005][3005];
int sum[3005][3005], imp[3005], mn[3005][3];
deque<pr> dq[3005];
priority_queue<pr, vector<pr>, greater<pr>> pq;
int main() {
ios::sync_with_stdio(0), cin.tie(0);
cin >> N >> M >> S >> E >> T;
for(int i=1; i<=N; i++) for(int j=1; j<=M; j++) {
cin >> sum[i][j];
sum[i][j] += sum[i][j-1];
}
for(int i=1; i<=N; i++) cin >> imp[i];
for(int i=1; i<=N; i++) D[i][0] = -T;
for(int i=1; i<=N; i++) for(int j=1; j<=M; j++) D[i][j] = 1e9;
for(int j=S; j<=M+S-1; j++) {
while(!pq.empty()) pq.pop();
for(int i=1; i<=N; i++) pq.push(pr(D[i][j-S], i));
int x = pq.top().second; pq.pop();
int y = pq.top().second; pq.pop();
int z = pq.top().second; pq.pop();
for(int i=1; i<=N; i++) {
int cur = 0;
if(x != imp[i] && x != i) cur = D[x][j-S];
else if(y != imp[i] && y != i) cur = D[y][j-S];
else cur = D[z][j-S];
# | 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... |