# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
59132 | wilwxk | 여행하는 상인 (APIO17_merchant) | C++11 | 188 ms | 13148 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <bits/stdc++.h>
using namespace std;
const int MAXN=105;
const int MAXK=1005;
const long long INF=1e15+9;
long long v[MAXN][MAXK][2];
long long dist[MAXN][MAXN], prof[MAXN][MAXN];
long long g[MAXN][MAXN];
bool chega[MAXN][MAXN];
int n, m, k;
void floyd() {
for(int kk=1; kk<=n; kk++) {
for(int i=1; i<=n; i++) {
for(int j=1; j<=n; j++) {
if(chega[i][kk]==0||chega[kk][j]==0) continue;
dist[i][j]=min(dist[i][j], dist[i][kk]+dist[kk][j]);
chega[i][j]=1;
}
}
}
}
bool testa(long long x) {
for(int i=1; i<=n; i++) {
for(int j=1; j<=n; j++) {
if(chega[i][j]==0) continue;
g[i][j]=(x*dist[i][j])-prof[i][j];
}
}
for(int kk=1; kk<=n; kk++) {
for(int i=1; i<=n; i++) {
for(int j=1; j<=n; j++) {
if(chega[i][kk]==0||chega[kk][j]==0) continue;
g[i][j]=min(g[i][j], g[i][kk]+g[kk][j]);
}
}
}
//printf("%lld::: ", x); for(int i=1; i<=n; i++) printf("%lld ", g[i][i]); printf("\n");
for(int i=1; i<=n; i++) if(chega[i][i]&&g[i][i]<=0) return 1;
return 0;
}
int main() {
scanf("%d %d %d", &n, &m, &k);
for(int i=1; i<=n; i++) for(int j=1; j<=k; j++) scanf("%lld %lld", &v[i][j][0], &v[i][j][1]);
for(int i=1; i<=n; i++) for(int j=1; j<=n; j++) dist[i][j]=INF;
while(m--) { int a, b, c; scanf("%d %d %d", &a, &b, &c); dist[a][b]=c; chega[a][b]=1; }
floyd();
for(int i=1; i<=n; i++) {
for(int j=1; j<=n; j++) {
for(int kk=1; kk<=k; kk++) {
if(!chega[i][j]) continue;
if(v[i][kk][0]==-1||v[j][kk][1]==-1) continue;
prof[i][j]=max(prof[i][j], v[j][kk][1]-v[i][kk][0]);
}
}
}
long long resp=0;
for(long long i=1e9+1; i>0; i/=2) while(testa(resp+i)) resp+=i;
printf("%lld\n", resp);
}
컴파일 시 표준 에러 (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... |