UOJ Logo

NOI.AC

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#194489#3410. 百日草WilliamFranklin1003931ms10536kbC++111.5kb2023-10-15 15:54:142023-10-15 18:49:04

answer

#include <bits/stdc++.h>
using namespace std;
#define x first
#define y second
#define mp(Tx, Ty) make_pair(Tx, Ty)
#define For(Ti, Ta, Tb) for(auto Ti = (Ta); Ti <= (Tb); Ti++)
#define Dec(Ti, Ta, Tb) for(auto Ti = (Ta); Ti >= (Tb); Ti--)
#define debug(...) fprintf(stderr, __VA_ARGS__)
#define range(Tx) begin(Tx),end(Tx)
const int N = 3e5 + 5;
int n, m;
int h[N], e[N * 2], ne[N * 2], idx;
long long w[N * 2];
int dep[N];
long long maxn[N];
void add(int a, int b, long long c) {
	e[idx] = b, ne[idx] = h[a], w[idx] = c, h[a] = idx++;
}
bool bfs(long long x) {
	memset(dep, 0, sizeof(dep));
	queue<int> q;
	q.push(1);
	dep[1] = 1;
	maxn[1] = 0;
	while (q.size()) {
		int t = q.front();
		q.pop();
		for (int i = h[t]; ~i; i = ne[i]) {
			int j = e[i];
			if (w[i] * dep[t] > x) continue;
			if (!dep[j]) {
				maxn[j] = max(maxn[t], w[i] * dep[t]);
				dep[j] = dep[t] + 1;
				q.push(j);
			} else if (dep[j] == dep[t] + 1) {
				maxn[j] = min(maxn[j], max(maxn[t], w[i] * dep[t]));
			}
		}
	}
	if (dep[n] == 0) return 0;
	else return 1;
}
int main() {
	cin.tie(nullptr)->sync_with_stdio(false);
	memset(h, -1, sizeof(h));
	cin >> n >> m;
	long long l = 0, r = 0;
	For(i, 1, m) {
		int a, b;
		long long c;
		cin >> a >> b >> c;
		add(a, b, c);
		r = max(r, c);
	}
	r *= max(n, m);
	long long ans = 0;
	while (l <= r) {
		long long mid = l + r >> 1;
		if (bfs(mid)) r = mid - 1, ans = mid;
		else l = mid + 1;
	}
	cout << ans;
	return 0;
}

详细

小提示:点击横条可展开更详细的信息

Subtask #1:

score: 20
Accepted

Test #1:

score: 20
Accepted
time: 0ms
memory: 3616kb

input:

9 9
6 7 9787
8 9 4122
7 8 5040
5 6 1482
1 2 7190
4 5 1900
2 3 3416
1 8 236
3 4 3396

output:

8244

result:

ok answer is '8244'

Test #2:

score: 0
Accepted
time: 0ms
memory: 3616kb

input:

20 20
15 1 10000
18 19 8888
11 12 10000
1 2 10000
5 6 10000
16 17 9999
10 11 10000
12 13 10000
15 16...

output:

159984

result:

ok answer is '159984'

Test #3:

score: 0
Accepted
time: 0ms
memory: 3616kb

input:

13 15
10 10 5052
7 8 4062
8 9 7905
10 11 9548
6 7 4168
1 2 2433
4 5 8785
5 6 273
11 12 3305
13 3 394...

output:

95480

result:

ok answer is '95480'

Test #4:

score: 0
Accepted
time: 0ms
memory: 3616kb

input:

14 14
10 11 3713
1 2 7086
5 6 354
5 1 7463
6 7 6860
4 5 4018
12 13 4492
11 12 2644
9 10 7373
2 3 480...

output:

66357

result:

ok answer is '66357'

Test #5:

score: 0
Accepted
time: 0ms
memory: 3620kb

input:

14 18
7 8 2063
11 12 5699
8 9 3589
5 13 9778
6 3 2842
12 13 8563
4 5 918
9 10 5277
9 3 5495
5 6 6573...

output:

48890

result:

ok answer is '48890'

Test #6:

score: 0
Accepted
time: 0ms
memory: 3616kb

input:

9 9
8 9 5654
2 3 568
6 8 1099
6 7 9522
3 4 965
1 2 1742
5 6 9401
7 8 3089
4 5 2165

output:

47005

result:

ok answer is '47005'

Test #7:

score: 0
Accepted
time: 0ms
memory: 3616kb

input:

2 2
1 1 5882
1 2 2417

output:

2417

result:

ok answer is '2417'

Test #8:

score: 0
Accepted
time: 4ms
memory: 3620kb

input:

20 20
14 15 10000
4 5 10000
8 9 10000
5 6 10000
7 8 10000
16 17 10000
11 12 10000
15 16 10000
2 3 10...

output:

160000

result:

ok answer is '160000'

Test #9:

score: 0
Accepted
time: 0ms
memory: 3616kb

input:

15 15
4 5 10000
13 14 10000
7 8 10000
8 9 10000
2 3 10000
15 14 10000
12 13 10000
10 11 10000
6 7 10...

output:

140000

result:

ok answer is '140000'

Test #10:

score: 0
Accepted
time: 3ms
memory: 3620kb

input:

13 13
1 2 4220
7 8 7036
2 3 7328
4 4 8301
10 11 2664
4 5 3148
11 12 4128
9 10 3924
6 7 927
12 13 389...

output:

51392

result:

ok answer is '51392'

Test #11:

score: 0
Accepted
time: 0ms
memory: 3616kb

input:

13 19
9 10 1858
4 5 463
3 1 7074
4 8 6861
5 1 7547
5 9 7809
12 6 1252
7 8 642
1 2 6591
5 6 12
2 3 33...

output:

56964

result:

ok answer is '56964'

Test #12:

score: 0
Accepted
time: 2ms
memory: 3620kb

input:

3 10
1 3 10000
3 3 10000
3 2 10000
1 3 10000
1 1 10000
2 1 10000
1 2 10000
2 3 10000
3 1 10000
3 1 1...

output:

10000

result:

ok answer is '10000'

Test #13:

score: 0
Accepted
time: 2ms
memory: 3616kb

input:

15 15
7 8 10000
4 5 10000
8 9 10000
12 13 10000
6 7 10000
9 10 10000
10 11 10000
1 2 10000
11 12 100...

output:

140000

result:

ok answer is '140000'

Test #14:

score: 0
Accepted
time: 2ms
memory: 3616kb

input:

18 18
14 15 2582
4 5 1324
7 8 5212
15 16 8059
1 2 7422
12 13 6371
10 11 4269
6 7 2785
9 10 8039
2 3 ...

output:

134419

result:

ok answer is '134419'

Test #15:

score: 0
Accepted
time: 0ms
memory: 3620kb

input:

18 20
13 14 6084
14 15 2248
9 10 6359
4 5 251
5 6 6473
9 11 998
1 2 4437
7 8 700
6 7 3836
17 18 1560...

output:

73304

result:

ok answer is '73304'

Subtask #2:

score: 20
Accepted

Test #16:

score: 20
Accepted
time: 3ms
memory: 3624kb

input:

94 94
82 83 5851
6 7 6277
49 50 1953
53 54 259
56 57 6783
17 18 9933
40 41 6467
48 49 2008
12 13 870...

output:

844432

result:

ok answer is '844432'

Test #17:

score: 0
Accepted
time: 3ms
memory: 3620kb

input:

20 93
1 8 10000
13 1 10000
20 1 10000
8 8 10000
2 3 10000
5 14 10000
15 16 10000
15 17 10000
15 19 1...

output:

20000

result:

ok answer is '20000'

Test #18:

score: 0
Accepted
time: 3ms
memory: 3624kb

input:

69 81
66 67 8227
2 3 9743
16 17 2965
48 49 3583
57 15 1919
3 4 2169
14 15 7696
12 13 4417
53 54 3093...

output:

82270

result:

ok answer is '82270'

Test #19:

score: 0
Accepted
time: 0ms
memory: 3620kb

input:

45 45
29 30 6683
32 33 748
7 8 3532
23 24 1274
3 4 6326
44 45 1242
27 28 880
37 38 7360
16 17 6784
1...

output:

428366

result:

ok answer is '428366'

Test #20:

score: 0
Accepted
time: 0ms
memory: 3624kb

input:

48 91
40 41 248
38 4 263
16 17 625
16 45 625
7 8 1428
3 33 3333
39 40 254
21 22 475
29 30 343
2 28 4...

output:

10000

result:

ok answer is '10000'

Test #21:

score: 0
Accepted
time: 0ms
memory: 3620kb

input:

63 73
10 11 10000
63 34 10000
17 59 10000
21 22 10000
58 59 10000
19 19 10000
1 2 10000
46 37 10000
...

output:

200000

result:

ok answer is '200000'

Test #22:

score: 0
Accepted
time: 3ms
memory: 3624kb

input:

83 83
2 3 10000
45 46 10000
54 55 10000
61 53 10000
5 6 10000
23 24 10000
38 39 10000
50 51 10000
28...

output:

820000

result:

ok answer is '820000'

Test #23:

score: 0
Accepted
time: 3ms
memory: 3624kb

input:

59 88
56 57 10000
26 27 10000
5 43 10000
18 15 10000
35 36 10000
36 42 10000
47 19 10000
35 17 10000...

output:

160000

result:

ok answer is '160000'

Test #24:

score: 0
Accepted
time: 0ms
memory: 3620kb

input:

36 38
31 32 2578
25 26 3198
27 28 2960
28 29 2856
13 6 6152
30 31 2666
1 2 10000
33 13 2424
20 21 40...

output:

80000

result:

ok answer is '80000'

Test #25:

score: 0
Accepted
time: 3ms
memory: 3624kb

input:

64 64
53 54 10000
9 10 10000
38 39 10000
40 41 10000
30 31 10000
50 13 10000
2 3 10000
11 12 10000
4...

output:

630000

result:

ok answer is '630000'

Test #26:

score: 0
Accepted
time: 3ms
memory: 3620kb

input:

23 62
1 2 10000
11 12 10000
13 14 10000
8 17 10000
19 23 10000
6 22 10000
22 19 10000
3 4 10000
9 10...

output:

40000

result:

ok answer is '40000'

Test #27:

score: 0
Accepted
time: 3ms
memory: 3620kb

input:

49 98
42 43 6825
32 33 4343
47 48 2768
14 15 4269
1 35 8020
36 29 4665
27 28 9312
2 3 9373
45 46 605...

output:

34955

result:

ok answer is '34955'

Test #28:

score: 0
Accepted
time: 2ms
memory: 3616kb

input:

10 10
5 6 2157
3 4 9449
4 5 6614
6 7 8181
9 10 570
2 3 7859
8 9 2803
7 8 2950
10 2 4363
1 2 8338

output:

49086

result:

ok answer is '49086'

Test #29:

score: 0
Accepted
time: 3ms
memory: 3624kb

input:

71 100
36 66 10000
3 4 10000
40 41 10000
60 50 10000
16 20 10000
7 23 10000
45 62 10000
17 18 10000
...

output:

80000

result:

ok answer is '80000'

Test #30:

score: 0
Accepted
time: 3ms
memory: 3624kb

input:

23 89
17 18 10000
4 1 10000
2 3 10000
11 12 10000
22 18 10000
9 10 10000
1 5 10000
4 7 10000
21 22 1...

output:

30000

result:

ok answer is '30000'

Subtask #3:

score: 20
Accepted

Test #31:

score: 20
Accepted
time: 5ms
memory: 3664kb

input:

1391 1391
685 686 1000000000
528 529 1000000000
1360 1361 1000000000
294 295 1000000000
317 318 1000...

output:

1390000000000

result:

ok answer is '1390000000000'

Test #32:

score: 0
Accepted
time: 5ms
memory: 3648kb

input:

533 1687
299 300 297497169
245 156 459224728
62 63 469281415
122 320 912731332
269 338 708463233
173...

output:

2160446904

result:

ok answer is '2160446904'

Test #33:

score: 0
Accepted
time: 4ms
memory: 3660kb

input:

1160 1427
1116 1117 1792113
1039 207 1924926
458 459 4366811
857 858 2333721
124 125 16129030
364 74...

output:

1999999996

result:

ok answer is '1999999996'

Test #34:

score: 0
Accepted
time: 4ms
memory: 3664kb

input:

1201 1201
139 140 846309564
202 203 499522645
1116 1117 584154854
1141 1142 490228546
226 227 611129...

output:

1149018642044

result:

ok answer is '1149018642044'

Test #35:

score: 0
Accepted
time: 4ms
memory: 3632kb

input:

323 602
27 134 1000000000
131 276 1000000000
12 13 1000000000
139 140 1000000000
184 244 1000000000
...

output:

10000000000

result:

ok answer is '10000000000'

Test #36:

score: 0
Accepted
time: 4ms
memory: 3632kb

input:

449 663
110 41 568920729
316 317 675253969
405 406 101431336
147 148 485193573
357 358 132551254
314...

output:

9342867700

result:

ok answer is '9342867700'

Test #37:

score: 0
Accepted
time: 4ms
memory: 3636kb

input:

527 527
7 8 1000000000
67 68 1000000000
178 179 1000000000
389 390 1000000000
205 206 1000000000
169...

output:

426000000000

result:

ok answer is '426000000000'

Test #38:

score: 0
Accepted
time: 4ms
memory: 3640kb

input:

182 1173
34 81 389286806
128 52 683306358
43 35 902829956
85 108 252197643
61 151 896763607
133 30 8...

output:

813776556

result:

ok answer is '813776556'

Test #39:

score: 0
Accepted
time: 0ms
memory: 3664kb

input:

1255 1891
805 806 1000000000
291 292 1000000000
46 47 1000000000
580 153 1000000000
983 86 100000000...

output:

19000000000

result:

ok answer is '19000000000'

Test #40:

score: 0
Accepted
time: 2ms
memory: 3648kb

input:

814 814
740 741 785906947
676 677 64634118
789 790 30861187
499 500 291257245
546 547 593568047
612 ...

output:

796479770898

result:

ok answer is '796479770898'

Test #41:

score: 0
Accepted
time: 4ms
memory: 3632kb

input:

234 790
142 143 31360215
139 140 769004821
117 118 495907298
154 81 293953955
168 74 344970431
209 2...

output:

1832029542

result:

ok answer is '1832029542'

Test #42:

score: 0
Accepted
time: 5ms
memory: 3664kb

input:

1396 1581
367 468 21798364
829 830 9650179
485 486 16494843
933 934 8574488
289 290 27681659
480 481...

output:

8000000000

result:

ok answer is '8000000000'

Test #43:

score: 0
Accepted
time: 0ms
memory: 3660kb

input:

1180 1180
308 309 3246751
743 744 1345895
397 398 2518891
1029 1030 971816
27 28 37037036
158 159 63...

output:

1000000000

result:

ok answer is '1000000000'

Test #44:

score: 0
Accepted
time: 5ms
memory: 3660kb

input:

1271 1420
315 316 1000000000
934 935 1000000000
307 308 1000000000
535 536 1000000000
76 77 10000000...

output:

57000000000

result:

ok answer is '57000000000'

Test #45:

score: 0
Accepted
time: 0ms
memory: 3660kb

input:

1073 1429
734 735 647572083
51 681 419947902
272 273 837344549
512 928 331257693
722 723 989087978
1...

output:

20587879800

result:

ok answer is '20587879800'

Subtask #4:

score: 20
Accepted

Test #46:

score: 20
Accepted
time: 15ms
memory: 3980kb

input:

16112 16112
2214 2215 1000000000
5191 5192 1000000000
4736 4737 1000000000
9474 9475 1000000000
3823...

output:

12067000000000

result:

ok answer is '12067000000000'

Test #47:

score: 0
Accepted
time: 35ms
memory: 4600kb

input:

37831 42095
1982 1983 1000000000
36858 36859 1000000000
31643 31644 1000000000
8925 8926 1000000000
...

output:

105000000000

result:

ok answer is '105000000000'

Test #48:

score: 0
Accepted
time: 29ms
memory: 4596kb

input:

30460 45141
16218 16219 1000000000
25583 25584 640425281
2613 2614 1000000000
9139 9140 1000000000
3...

output:

15599198861

result:

ok answer is '15599198861'

Test #49:

score: 0
Accepted
time: 12ms
memory: 4028kb

input:

17131 17131
12996 12997 1000000000
2685 2686 1000000000
11574 11575 1000000000
15747 15748 100000000...

output:

17130000000000

result:

ok answer is '17130000000000'

Test #50:

score: 0
Accepted
time: 55ms
memory: 4660kb

input:

32134 48342
3550 17156 43232692
21398 16021 119470119
12472 12473 339414987
2530 2531 684887772
2977...

output:

18937007240

result:

ok answer is '18937007240'

Test #51:

score: 0
Accepted
time: 43ms
memory: 4512kb

input:

11659 48524
1695 5756 1000000000
4014 602 1000000000
7052 184 1000000000
9308 980 1000000000
7232 96...

output:

7000000000

result:

ok answer is '7000000000'

Test #52:

score: 0
Accepted
time: 18ms
memory: 4008kb

input:

15885 15885
11450 11451 699469639
5491 5492 621647247
7796 7797 610827647
3178 3179 294255651
8564 8...

output:

12414959881712

result:

ok answer is '12414959881712'

Test #53:

score: 0
Accepted
time: 36ms
memory: 4752kb

input:

45116 48936
43378 43379 94425745
36469 36470 112314566
25614 25615 159912547
35266 35267 116145861
8...

output:

19065942000

result:

ok answer is '19065942000'

Test #54:

score: 0
Accepted
time: 34ms
memory: 4800kb

input:

49761 49852
37133 37134 247668354
8811 8812 355396990
26899 26900 555651875
46247 46248 247170285
12...

output:

1678107092765

result:

ok answer is '1678107092765'

Test #55:

score: 0
Accepted
time: 2ms
memory: 3688kb

input:

2103 2103
702 703 1000000000
1675 1676 1000000000
2018 2019 1000000000
1840 1841 1000000000
1305 130...

output:

2102000000000

result:

ok answer is '2102000000000'

Test #56:

score: 0
Accepted
time: 28ms
memory: 4528kb

input:

29379 41850
21135 17428 1000000000
25275 25276 1000000000
6511 9856 1000000000
27189 7894 1000000000...

output:

22000000000

result:

ok answer is '22000000000'

Test #57:

score: 0
Accepted
time: 37ms
memory: 4664kb

input:

41489 44551
1117 1118 482509016
7794 7795 703730792
20386 20387 983590194
26268 26269 134168214
1620...

output:

110862157400

result:

ok answer is '110862157400'

Test #58:

score: 0
Accepted
time: 4ms
memory: 3788kb

input:

7067 7067
4726 4727 1000000000
3064 3065 1000000000
3424 3425 1000000000
1911 1912 1000000000
2884 2...

output:

6179000000000

result:

ok answer is '6179000000000'

Test #59:

score: 0
Accepted
time: 25ms
memory: 4408kb

input:

31671 33468
21698 21699 1000000000
10487 10488 1000000000
7898 7899 1000000000
997 998 1000000000
16...

output:

128000000000

result:

ok answer is '128000000000'

Test #60:

score: 0
Accepted
time: 29ms
memory: 4136kb

input:

2493 30279
534 1951 537177381
1878 955 398472345
1222 536 144734396
18 742 691788334
2033 607 284713...

output:

898555380

result:

ok answer is '898555380'

Subtask #5:

score: 10
Accepted

Test #61:

score: 10
Accepted
time: 14ms
memory: 4024kb

input:

19248 19248
3945 3946 1000000000
5934 5935 1000000000
9729 9730 1000000000
11396 11397 1000000000
10...

output:

5017264818230

result:

ok answer is '5017264818230'

Test #62:

score: 0
Accepted
time: 384ms
memory: 9792kb

input:

207974 284660
41077 41078 519921917
34568 34569 808498172
144106 144107 16332219
150339 150340 18487...

output:

32419213125

result:

ok answer is '32419213125'

Test #63:

score: 0
Accepted
time: 263ms
memory: 8432kb

input:

186812 211360
19968 19969 50079
32964 32965 30335
103689 103690 9642
43457 43458 23009
22055 22056 4...

output:

1000000000

result:

ok answer is '1000000000'

Test #64:

score: 0
Accepted
time: 314ms
memory: 8856kb

input:

222934 222934
60683 60684 490030411
48332 48333 448237262
185982 185983 636132236
21645 21646 194927...

output:

221709980652438

result:

ok answer is '221709980652438'

Test #65:

score: 0
Accepted
time: 287ms
memory: 9704kb

input:

258610 259306
200792 200793 434662356
185227 185228 846610492
207591 207592 611739155
82768 82769 50...

output:

4430008560325

result:

ok answer is '4430008560325'

Test #66:

score: 0
Accepted
time: 61ms
memory: 5728kb

input:

68691 97295
52136 52137 1000000000
59302 59303 1000000000
61250 61251 1000000000
27218 27219 1000000...

output:

24000000000

result:

ok answer is '24000000000'

Test #67:

score: 0
Accepted
time: 80ms
memory: 5132kb

input:

64189 64189
35207 35208 393863317
20468 20469 666190416
44205 44206 459480213
54435 54436 628153716
...

output:

64104145161728

result:

ok answer is '64104145161728'

Test #68:

score: 0
Accepted
time: 253ms
memory: 10536kb

input:

289638 296231
113164 113165 144241829
258986 258987 357262286
255442 255443 348855011
229380 229381 ...

output:

282719375197

result:

ok answer is '282719375197'

Test #69:

score: 0
Accepted
time: 215ms
memory: 8440kb

input:

191812 210251
70455 70456 3633523
138448 138449 1849067
122901 122902 2082976
7835 7836 32673898
190...

output:

5000000000

result:

ok answer is '5000000000'

Test #70:

score: 0
Accepted
time: 17ms
memory: 4260kb

input:

26976 26976
9830 9831 1627670
14683 14684 1089695
237 238 67510546
15319 15320 1044454
22165 22166 7...

output:

16000000000

result:

ok answer is '16000000000'

Test #71:

score: 0
Accepted
time: 614ms
memory: 10276kb

input:

254742 294680
136106 116418 304908022
72842 72843 38586968
218009 218010 939575708
149064 149065 969...

output:

78075522269

result:

ok answer is '78075522269'

Test #72:

score: 0
Accepted
time: 404ms
memory: 9852kb

input:

220744 282814
149377 149378 107110
210569 12241 75982
71542 71543 223644
162292 162293 98586
8688 86...

output:

4000000000

result:

ok answer is '4000000000'

Test #73:

score: 0
Accepted
time: 100ms
memory: 5632kb

input:

85270 85270
13327 13328 880879153
34075 34076 980869479
62767 62768 478679185
70825 70826 199633166
...

output:

72675847407345

result:

ok answer is '72675847407345'

Test #74:

score: 0
Accepted
time: 219ms
memory: 9664kb

input:

218677 272439
35162 35163 337550898
53357 53358 806436404
208293 36947 675107279
128708 128709 33906...

output:

25469097270

result:

ok answer is '25469097270'

Test #75:

score: 0
Accepted
time: 209ms
memory: 7072kb

input:

55879 185754
28025 42808 1000000000
18086 9871 1000000000
15408 17608 1000000000
54660 54661 1000000...

output:

9000000000

result:

ok answer is '9000000000'

Extra Test:

score: 0
Extra Test Passed