Submission #972218

# Submission time Handle Problem Language Result Execution time Memory
972218 2024-04-30T08:51:12 Z vjudge1 Travelling Merchant (APIO17_merchant) C++14
12 / 100
99 ms 3924 KB
#include<bits/stdc++.h>

using namespace std;

#define int long long

const int N=110, K=1010, inf=1e18;
int n, m, _k;
int b[N][K], s[N][K];
vector<pair<pair<int, int>, int>> e;
int d[N][N];
int g[N][N];
int f[N][N];

bool check(int mid){
   for (int i=1; i<=n; ++i) for (int j=1; j<=n; ++j){
      f[i][j]=inf;
      if (d[i][j]!=inf && d[i][j]<inf/mid) f[i][j]=mid*d[i][j]-g[i][j];
   }
   for (int k=1; k<=n; ++k) for (int i=1; i<=n; ++i) for (int j=1; j<=n; ++j){
      f[i][j]=min(f[i][j], f[i][k]+f[k][j]);
   }
   return f[1][1]<=0;
}

int32_t main(){
   ios_base::sync_with_stdio(false);
   cin.tie(nullptr);
   cin >> n >> m >> _k;
   for (int i=1; i<=n; ++i) for (int j=1; j<=_k; ++j) cin >> b[i][j] >> s[i][j];
   e.resize(m);
   for (int i=1; i<=n; ++i) for (int j=1; j<=n; ++j) d[i][j]=inf;
   for (auto &i:e){
      cin >> i.first.first >> i.first.second >> i.second;
      d[i.first.first][i.first.second]=min(d[i.first.first][i.first.second], i.second);
   }
   for (int k=1; k<=n; ++k) for (int i=1; i<=n; ++i) for (int j=1; j<=n; ++j){
      if (d[i][k]!=inf && d[k][j]!=inf) d[i][j]=min(d[i][j], d[i][k]+d[k][j]);
   }
   for (int i=1; i<=_k; ++i){
      for (int u=1; u<=n; ++u) for (int v=1; v<=n; ++v) if (b[u][i]!=-1 && s[v][i]!=-1 && b[u][i]<s[v][i]){
         g[u][v]=max(g[u][v], s[v][i]-b[u][i]);
      }
   }
   int l=1, r=1e9;
   while (l<=r){
      int mid=(l+r)>>1;
      if (check(mid)) l=mid+1;
      else r=mid-1;
   }
   cout << r << '\n';
   return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 55 ms 2932 KB Output is correct
2 Correct 34 ms 1372 KB Output is correct
3 Correct 33 ms 1372 KB Output is correct
4 Correct 4 ms 860 KB Output is correct
5 Correct 5 ms 856 KB Output is correct
6 Correct 5 ms 860 KB Output is correct
7 Correct 5 ms 860 KB Output is correct
8 Correct 1 ms 348 KB Output is correct
9 Correct 4 ms 860 KB Output is correct
10 Correct 4 ms 860 KB Output is correct
11 Correct 5 ms 860 KB Output is correct
12 Correct 1 ms 348 KB Output is correct
13 Correct 5 ms 1064 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 5 ms 860 KB Output is correct
2 Correct 5 ms 860 KB Output is correct
3 Correct 1 ms 348 KB Output is correct
4 Correct 4 ms 860 KB Output is correct
5 Correct 4 ms 860 KB Output is correct
6 Correct 5 ms 860 KB Output is correct
7 Correct 1 ms 348 KB Output is correct
8 Correct 5 ms 1064 KB Output is correct
9 Incorrect 5 ms 860 KB Output isn't correct
10 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 46 ms 1756 KB Output is correct
2 Correct 99 ms 3924 KB Output is correct
3 Incorrect 47 ms 1628 KB Output isn't correct
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 5 ms 860 KB Output isn't correct
2 Halted 0 ms 0 KB -