#include<bits/stdc++.h>
#pragma GCC optimize("O3")
using namespace std;
#define ll long long
#define pb push_back
#define fr first
#define sc second
#define ARRS ((ll)(2e6+500))
#define MAX ((ll)(1e12+100))
#define MOD ((ll)1e6+7)
#define mi(a,b) a=min((a),(b))
ll n,m,k;
pair<ll,ll> q[2000][2000];
__int128 f[2000][2000];
__int128 v[2000][2000];
int main(){
#ifdef KHOKHO
freopen("in.in","r",stdin);
freopen("out.out","w",stdout);
#endif
ios::sync_with_stdio(0);
cin>>n>>m>>k;
//cout<<n<<" "<<k<<endl;
for(int i=0; i<n; i++)
for(int j=0; j<k; j++)
cin>>q[i][j].fr>>q[i][j].sc;
for(int i=0; i<n; i++)
for(int j=0; j<n; j++)
f[i][j]=f[j][i]=MAX;
for(int i=0; i<m; i++){
ll k,p,c;
cin>>k>>p>>c;
k--;
p--;
f[k][p]=c;
}
//return 0;
for(int k=0; k<n; k++)
for(int i=0; i<n; i++)
for(int j=0; j<n; j++)
f[i][j]=min(f[i][j],f[i][k]+f[k][j]);
__int128 l=0,r=MAX;
while(l<r){
__int128 em=(l+r+1)>>1ll;
for(int i=0; i<n; i++){
for(int j=0; j<n; j++){
v[i][j]=-em*f[i][j];
for(int t=0; t<k; t++){
if(q[i][t].fr>=0&&q[j][t].sc>=0)
v[i][j]=max(v[i][j],(__int128)q[j][t].sc-q[i][t].fr-em*f[i][j]);
}
}
}
for(int k=0; k<n; k++){
for(int i=0; i<n; i++){
for(int j=0; j<n; j++){
v[i][j]=max(v[i][j],v[i][k]+v[k][j]);
}
}
}
bool e=0;
for(int i=0; i<n; i++){
if(v[i][i]>=0)
e=1;
}
if(e)
l=em;
else r=em-1;
}
ll t=l;
cout<<t;
}
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
670 ms |
3540 KB |
Output is correct |
2 |
Correct |
199 ms |
3540 KB |
Output is correct |
3 |
Correct |
199 ms |
3540 KB |
Output is correct |
4 |
Correct |
23 ms |
3540 KB |
Output is correct |
5 |
Correct |
21 ms |
3540 KB |
Output is correct |
6 |
Correct |
29 ms |
3540 KB |
Output is correct |
7 |
Correct |
34 ms |
3540 KB |
Output is correct |
8 |
Correct |
3 ms |
3540 KB |
Output is correct |
9 |
Correct |
26 ms |
3540 KB |
Output is correct |
10 |
Correct |
27 ms |
3540 KB |
Output is correct |
11 |
Correct |
28 ms |
3540 KB |
Output is correct |
12 |
Correct |
3 ms |
3540 KB |
Output is correct |
13 |
Correct |
26 ms |
3540 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
39 ms |
3540 KB |
Output is correct |
2 |
Correct |
35 ms |
3540 KB |
Output is correct |
3 |
Correct |
35 ms |
3540 KB |
Output is correct |
4 |
Correct |
32 ms |
3540 KB |
Output is correct |
5 |
Correct |
59 ms |
3540 KB |
Output is correct |
6 |
Correct |
3 ms |
3540 KB |
Output is correct |
7 |
Correct |
24 ms |
3540 KB |
Output is correct |
8 |
Correct |
37 ms |
3540 KB |
Output is correct |
9 |
Correct |
28 ms |
3540 KB |
Output is correct |
10 |
Correct |
27 ms |
3540 KB |
Output is correct |
11 |
Correct |
52 ms |
3540 KB |
Output is correct |
12 |
Correct |
53 ms |
3540 KB |
Output is correct |
13 |
Correct |
22 ms |
3540 KB |
Output is correct |
14 |
Correct |
37 ms |
3540 KB |
Output is correct |
15 |
Correct |
50 ms |
3540 KB |
Output is correct |
16 |
Correct |
21 ms |
3540 KB |
Output is correct |
17 |
Correct |
62 ms |
3540 KB |
Output is correct |
18 |
Correct |
3 ms |
3540 KB |
Output is correct |
19 |
Correct |
59 ms |
3540 KB |
Output is correct |
20 |
Correct |
69 ms |
3540 KB |
Output is correct |
21 |
Correct |
49 ms |
3540 KB |
Output is correct |
22 |
Correct |
32 ms |
3540 KB |
Output is correct |
23 |
Correct |
24 ms |
3540 KB |
Output is correct |
24 |
Correct |
29 ms |
3540 KB |
Output is correct |
25 |
Correct |
34 ms |
3540 KB |
Output is correct |
26 |
Correct |
3 ms |
3540 KB |
Output is correct |
27 |
Correct |
26 ms |
3540 KB |
Output is correct |
28 |
Correct |
27 ms |
3540 KB |
Output is correct |
29 |
Correct |
28 ms |
3540 KB |
Output is correct |
30 |
Correct |
3 ms |
3540 KB |
Output is correct |
31 |
Correct |
26 ms |
3540 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
481 ms |
3540 KB |
Output is correct |
2 |
Execution timed out |
1078 ms |
3540 KB |
Time limit exceeded |
3 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
39 ms |
3540 KB |
Output is correct |
2 |
Correct |
35 ms |
3540 KB |
Output is correct |
3 |
Correct |
35 ms |
3540 KB |
Output is correct |
4 |
Correct |
32 ms |
3540 KB |
Output is correct |
5 |
Correct |
59 ms |
3540 KB |
Output is correct |
6 |
Correct |
3 ms |
3540 KB |
Output is correct |
7 |
Correct |
24 ms |
3540 KB |
Output is correct |
8 |
Correct |
37 ms |
3540 KB |
Output is correct |
9 |
Correct |
28 ms |
3540 KB |
Output is correct |
10 |
Correct |
27 ms |
3540 KB |
Output is correct |
11 |
Correct |
52 ms |
3540 KB |
Output is correct |
12 |
Correct |
53 ms |
3540 KB |
Output is correct |
13 |
Correct |
22 ms |
3540 KB |
Output is correct |
14 |
Correct |
37 ms |
3540 KB |
Output is correct |
15 |
Correct |
50 ms |
3540 KB |
Output is correct |
16 |
Correct |
21 ms |
3540 KB |
Output is correct |
17 |
Correct |
481 ms |
3540 KB |
Output is correct |
18 |
Execution timed out |
1078 ms |
3540 KB |
Time limit exceeded |
19 |
Halted |
0 ms |
0 KB |
- |