Submission #139748

# Submission time Handle Problem Language Result Execution time Memory
139748 2019-08-01T11:03:46 Z muradeyn Shortcut (IOI16_shortcut) C++14
0 / 100
2000 ms 1500 KB
#include "shortcut.h"
#include <bits/stdc++.h>
#define F first
#define S second

using namespace std;

const int maxx = 6000;
const long long inf = 10000000000000000LL;


int n , nxt;

long long x , w ,  old , res , mn;
long long adj[maxx][maxx] , d[maxx];

priority_queue< pair<long long,int> >q;

void bfs(int s) {
	for (int i = 0;i<nxt;i++)d[i] = inf;
	d[s] = 0;
	q.push( {0 , s} );
	while (!q.empty()) {
		x = q.top().S;
		w = q.top().F;
		q.pop();
		if (-w > d[x])continue;
		mn = max(mn , -w);
		for (int i = 0;i<nxt;i++) {
			if (adj[x][i] == 0)continue;
			if (d[i] > d[x] + adj[x][i]) {
				d[i] = d[x] + adj[x][i];
				q.push({-d[i] , i});
			}
		}
	}
}

long long find_shortcut(int n, vector<int> l, vector<int> de, int c) {
	for (int i = 0;i < n - 1;i++) adj[i][i + 1] = adj[i + 1][i] = l[i];
    nxt = n;
	for (int i = 0;i < n;i++) {
		if (de[i] == 0)continue;
		adj[i][nxt] = adj[nxt][i] = de[i];
		nxt++;
	}
	for (int k = 0;k<nxt;k++) {
		bfs(k);
		for (int ii = 0;ii<nxt;ii++)mn = max(mn , d[ii]);
	}
	res = mn;
	for (int i = 0;i < n;i++) {
		for (int j = i + 1;j < n;j++) {
			old = adj[i][j];
			adj[i][j] = adj[j][i] = c;
			mn = 0;
			for (int k = 0;k<nxt;k++) {
				bfs(k);
				//for (int ii = 0;ii<nxt;ii++) mn = max(mn , d[ii]);
			}
			if (res == 0)res = mn;
			else if (mn < res)res = mn;
			adj[i][j] = adj[j][i] = old;
		}
	}
    return res;
}
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB n = 4, 80 is a correct answer
2 Correct 2 ms 376 KB n = 9, 110 is a correct answer
3 Correct 2 ms 376 KB n = 4, 21 is a correct answer
4 Correct 2 ms 376 KB n = 3, 4 is a correct answer
5 Correct 2 ms 376 KB n = 2, 62 is a correct answer
6 Correct 2 ms 376 KB n = 2, 3 is a correct answer
7 Correct 2 ms 376 KB n = 3, 29 is a correct answer
8 Correct 2 ms 376 KB n = 2, 3 is a correct answer
9 Correct 2 ms 376 KB n = 2, 3 is a correct answer
10 Correct 2 ms 376 KB n = 2, 2000000001 is a correct answer
11 Correct 2 ms 376 KB n = 2, 3000000000 is a correct answer
12 Correct 1 ms 420 KB n = 3, 3000000000 is a correct answer
13 Correct 2 ms 376 KB n = 3, 3000000000 is a correct answer
14 Correct 2 ms 376 KB n = 4, 3000000001 is a correct answer
15 Correct 2 ms 376 KB n = 4, 4000000000 is a correct answer
16 Correct 2 ms 376 KB n = 5, 4000000000 is a correct answer
17 Correct 4 ms 248 KB n = 10, 1000000343 is a correct answer
18 Correct 4 ms 376 KB n = 10, 3189 is a correct answer
19 Correct 3 ms 376 KB n = 10, 7000000000 is a correct answer
20 Correct 2 ms 376 KB n = 5, 12 is a correct answer
21 Correct 2 ms 376 KB n = 5, 25 is a correct answer
22 Correct 2 ms 376 KB n = 2, 122 is a correct answer
23 Correct 4 ms 376 KB n = 10, 117 is a correct answer
24 Correct 4 ms 376 KB n = 10, 336 is a correct answer
25 Correct 3 ms 376 KB n = 10, 438 is a correct answer
26 Correct 2 ms 376 KB n = 10, 206 is a correct answer
27 Correct 3 ms 376 KB n = 10, 636 is a correct answer
28 Correct 2 ms 376 KB n = 4, 2399 is a correct answer
29 Correct 4 ms 376 KB n = 10, 10992 is a correct answer
30 Correct 4 ms 376 KB n = 10, 3112 is a correct answer
31 Execution timed out 2037 ms 1500 KB Time limit exceeded
32 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB n = 4, 80 is a correct answer
2 Correct 2 ms 376 KB n = 9, 110 is a correct answer
3 Correct 2 ms 376 KB n = 4, 21 is a correct answer
4 Correct 2 ms 376 KB n = 3, 4 is a correct answer
5 Correct 2 ms 376 KB n = 2, 62 is a correct answer
6 Correct 2 ms 376 KB n = 2, 3 is a correct answer
7 Correct 2 ms 376 KB n = 3, 29 is a correct answer
8 Correct 2 ms 376 KB n = 2, 3 is a correct answer
9 Correct 2 ms 376 KB n = 2, 3 is a correct answer
10 Correct 2 ms 376 KB n = 2, 2000000001 is a correct answer
11 Correct 2 ms 376 KB n = 2, 3000000000 is a correct answer
12 Correct 1 ms 420 KB n = 3, 3000000000 is a correct answer
13 Correct 2 ms 376 KB n = 3, 3000000000 is a correct answer
14 Correct 2 ms 376 KB n = 4, 3000000001 is a correct answer
15 Correct 2 ms 376 KB n = 4, 4000000000 is a correct answer
16 Correct 2 ms 376 KB n = 5, 4000000000 is a correct answer
17 Correct 4 ms 248 KB n = 10, 1000000343 is a correct answer
18 Correct 4 ms 376 KB n = 10, 3189 is a correct answer
19 Correct 3 ms 376 KB n = 10, 7000000000 is a correct answer
20 Correct 2 ms 376 KB n = 5, 12 is a correct answer
21 Correct 2 ms 376 KB n = 5, 25 is a correct answer
22 Correct 2 ms 376 KB n = 2, 122 is a correct answer
23 Correct 4 ms 376 KB n = 10, 117 is a correct answer
24 Correct 4 ms 376 KB n = 10, 336 is a correct answer
25 Correct 3 ms 376 KB n = 10, 438 is a correct answer
26 Correct 2 ms 376 KB n = 10, 206 is a correct answer
27 Correct 3 ms 376 KB n = 10, 636 is a correct answer
28 Correct 2 ms 376 KB n = 4, 2399 is a correct answer
29 Correct 4 ms 376 KB n = 10, 10992 is a correct answer
30 Correct 4 ms 376 KB n = 10, 3112 is a correct answer
31 Execution timed out 2037 ms 1500 KB Time limit exceeded
32 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB n = 4, 80 is a correct answer
2 Correct 2 ms 376 KB n = 9, 110 is a correct answer
3 Correct 2 ms 376 KB n = 4, 21 is a correct answer
4 Correct 2 ms 376 KB n = 3, 4 is a correct answer
5 Correct 2 ms 376 KB n = 2, 62 is a correct answer
6 Correct 2 ms 376 KB n = 2, 3 is a correct answer
7 Correct 2 ms 376 KB n = 3, 29 is a correct answer
8 Correct 2 ms 376 KB n = 2, 3 is a correct answer
9 Correct 2 ms 376 KB n = 2, 3 is a correct answer
10 Correct 2 ms 376 KB n = 2, 2000000001 is a correct answer
11 Correct 2 ms 376 KB n = 2, 3000000000 is a correct answer
12 Correct 1 ms 420 KB n = 3, 3000000000 is a correct answer
13 Correct 2 ms 376 KB n = 3, 3000000000 is a correct answer
14 Correct 2 ms 376 KB n = 4, 3000000001 is a correct answer
15 Correct 2 ms 376 KB n = 4, 4000000000 is a correct answer
16 Correct 2 ms 376 KB n = 5, 4000000000 is a correct answer
17 Correct 4 ms 248 KB n = 10, 1000000343 is a correct answer
18 Correct 4 ms 376 KB n = 10, 3189 is a correct answer
19 Correct 3 ms 376 KB n = 10, 7000000000 is a correct answer
20 Correct 2 ms 376 KB n = 5, 12 is a correct answer
21 Correct 2 ms 376 KB n = 5, 25 is a correct answer
22 Correct 2 ms 376 KB n = 2, 122 is a correct answer
23 Correct 4 ms 376 KB n = 10, 117 is a correct answer
24 Correct 4 ms 376 KB n = 10, 336 is a correct answer
25 Correct 3 ms 376 KB n = 10, 438 is a correct answer
26 Correct 2 ms 376 KB n = 10, 206 is a correct answer
27 Correct 3 ms 376 KB n = 10, 636 is a correct answer
28 Correct 2 ms 376 KB n = 4, 2399 is a correct answer
29 Correct 4 ms 376 KB n = 10, 10992 is a correct answer
30 Correct 4 ms 376 KB n = 10, 3112 is a correct answer
31 Execution timed out 2037 ms 1500 KB Time limit exceeded
32 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB n = 4, 80 is a correct answer
2 Correct 2 ms 376 KB n = 9, 110 is a correct answer
3 Correct 2 ms 376 KB n = 4, 21 is a correct answer
4 Correct 2 ms 376 KB n = 3, 4 is a correct answer
5 Correct 2 ms 376 KB n = 2, 62 is a correct answer
6 Correct 2 ms 376 KB n = 2, 3 is a correct answer
7 Correct 2 ms 376 KB n = 3, 29 is a correct answer
8 Correct 2 ms 376 KB n = 2, 3 is a correct answer
9 Correct 2 ms 376 KB n = 2, 3 is a correct answer
10 Correct 2 ms 376 KB n = 2, 2000000001 is a correct answer
11 Correct 2 ms 376 KB n = 2, 3000000000 is a correct answer
12 Correct 1 ms 420 KB n = 3, 3000000000 is a correct answer
13 Correct 2 ms 376 KB n = 3, 3000000000 is a correct answer
14 Correct 2 ms 376 KB n = 4, 3000000001 is a correct answer
15 Correct 2 ms 376 KB n = 4, 4000000000 is a correct answer
16 Correct 2 ms 376 KB n = 5, 4000000000 is a correct answer
17 Correct 4 ms 248 KB n = 10, 1000000343 is a correct answer
18 Correct 4 ms 376 KB n = 10, 3189 is a correct answer
19 Correct 3 ms 376 KB n = 10, 7000000000 is a correct answer
20 Correct 2 ms 376 KB n = 5, 12 is a correct answer
21 Correct 2 ms 376 KB n = 5, 25 is a correct answer
22 Correct 2 ms 376 KB n = 2, 122 is a correct answer
23 Correct 4 ms 376 KB n = 10, 117 is a correct answer
24 Correct 4 ms 376 KB n = 10, 336 is a correct answer
25 Correct 3 ms 376 KB n = 10, 438 is a correct answer
26 Correct 2 ms 376 KB n = 10, 206 is a correct answer
27 Correct 3 ms 376 KB n = 10, 636 is a correct answer
28 Correct 2 ms 376 KB n = 4, 2399 is a correct answer
29 Correct 4 ms 376 KB n = 10, 10992 is a correct answer
30 Correct 4 ms 376 KB n = 10, 3112 is a correct answer
31 Execution timed out 2037 ms 1500 KB Time limit exceeded
32 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB n = 4, 80 is a correct answer
2 Correct 2 ms 376 KB n = 9, 110 is a correct answer
3 Correct 2 ms 376 KB n = 4, 21 is a correct answer
4 Correct 2 ms 376 KB n = 3, 4 is a correct answer
5 Correct 2 ms 376 KB n = 2, 62 is a correct answer
6 Correct 2 ms 376 KB n = 2, 3 is a correct answer
7 Correct 2 ms 376 KB n = 3, 29 is a correct answer
8 Correct 2 ms 376 KB n = 2, 3 is a correct answer
9 Correct 2 ms 376 KB n = 2, 3 is a correct answer
10 Correct 2 ms 376 KB n = 2, 2000000001 is a correct answer
11 Correct 2 ms 376 KB n = 2, 3000000000 is a correct answer
12 Correct 1 ms 420 KB n = 3, 3000000000 is a correct answer
13 Correct 2 ms 376 KB n = 3, 3000000000 is a correct answer
14 Correct 2 ms 376 KB n = 4, 3000000001 is a correct answer
15 Correct 2 ms 376 KB n = 4, 4000000000 is a correct answer
16 Correct 2 ms 376 KB n = 5, 4000000000 is a correct answer
17 Correct 4 ms 248 KB n = 10, 1000000343 is a correct answer
18 Correct 4 ms 376 KB n = 10, 3189 is a correct answer
19 Correct 3 ms 376 KB n = 10, 7000000000 is a correct answer
20 Correct 2 ms 376 KB n = 5, 12 is a correct answer
21 Correct 2 ms 376 KB n = 5, 25 is a correct answer
22 Correct 2 ms 376 KB n = 2, 122 is a correct answer
23 Correct 4 ms 376 KB n = 10, 117 is a correct answer
24 Correct 4 ms 376 KB n = 10, 336 is a correct answer
25 Correct 3 ms 376 KB n = 10, 438 is a correct answer
26 Correct 2 ms 376 KB n = 10, 206 is a correct answer
27 Correct 3 ms 376 KB n = 10, 636 is a correct answer
28 Correct 2 ms 376 KB n = 4, 2399 is a correct answer
29 Correct 4 ms 376 KB n = 10, 10992 is a correct answer
30 Correct 4 ms 376 KB n = 10, 3112 is a correct answer
31 Execution timed out 2037 ms 1500 KB Time limit exceeded
32 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB n = 4, 80 is a correct answer
2 Correct 2 ms 376 KB n = 9, 110 is a correct answer
3 Correct 2 ms 376 KB n = 4, 21 is a correct answer
4 Correct 2 ms 376 KB n = 3, 4 is a correct answer
5 Correct 2 ms 376 KB n = 2, 62 is a correct answer
6 Correct 2 ms 376 KB n = 2, 3 is a correct answer
7 Correct 2 ms 376 KB n = 3, 29 is a correct answer
8 Correct 2 ms 376 KB n = 2, 3 is a correct answer
9 Correct 2 ms 376 KB n = 2, 3 is a correct answer
10 Correct 2 ms 376 KB n = 2, 2000000001 is a correct answer
11 Correct 2 ms 376 KB n = 2, 3000000000 is a correct answer
12 Correct 1 ms 420 KB n = 3, 3000000000 is a correct answer
13 Correct 2 ms 376 KB n = 3, 3000000000 is a correct answer
14 Correct 2 ms 376 KB n = 4, 3000000001 is a correct answer
15 Correct 2 ms 376 KB n = 4, 4000000000 is a correct answer
16 Correct 2 ms 376 KB n = 5, 4000000000 is a correct answer
17 Correct 4 ms 248 KB n = 10, 1000000343 is a correct answer
18 Correct 4 ms 376 KB n = 10, 3189 is a correct answer
19 Correct 3 ms 376 KB n = 10, 7000000000 is a correct answer
20 Correct 2 ms 376 KB n = 5, 12 is a correct answer
21 Correct 2 ms 376 KB n = 5, 25 is a correct answer
22 Correct 2 ms 376 KB n = 2, 122 is a correct answer
23 Correct 4 ms 376 KB n = 10, 117 is a correct answer
24 Correct 4 ms 376 KB n = 10, 336 is a correct answer
25 Correct 3 ms 376 KB n = 10, 438 is a correct answer
26 Correct 2 ms 376 KB n = 10, 206 is a correct answer
27 Correct 3 ms 376 KB n = 10, 636 is a correct answer
28 Correct 2 ms 376 KB n = 4, 2399 is a correct answer
29 Correct 4 ms 376 KB n = 10, 10992 is a correct answer
30 Correct 4 ms 376 KB n = 10, 3112 is a correct answer
31 Execution timed out 2037 ms 1500 KB Time limit exceeded
32 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB n = 4, 80 is a correct answer
2 Correct 2 ms 376 KB n = 9, 110 is a correct answer
3 Correct 2 ms 376 KB n = 4, 21 is a correct answer
4 Correct 2 ms 376 KB n = 3, 4 is a correct answer
5 Correct 2 ms 376 KB n = 2, 62 is a correct answer
6 Correct 2 ms 376 KB n = 2, 3 is a correct answer
7 Correct 2 ms 376 KB n = 3, 29 is a correct answer
8 Correct 2 ms 376 KB n = 2, 3 is a correct answer
9 Correct 2 ms 376 KB n = 2, 3 is a correct answer
10 Correct 2 ms 376 KB n = 2, 2000000001 is a correct answer
11 Correct 2 ms 376 KB n = 2, 3000000000 is a correct answer
12 Correct 1 ms 420 KB n = 3, 3000000000 is a correct answer
13 Correct 2 ms 376 KB n = 3, 3000000000 is a correct answer
14 Correct 2 ms 376 KB n = 4, 3000000001 is a correct answer
15 Correct 2 ms 376 KB n = 4, 4000000000 is a correct answer
16 Correct 2 ms 376 KB n = 5, 4000000000 is a correct answer
17 Correct 4 ms 248 KB n = 10, 1000000343 is a correct answer
18 Correct 4 ms 376 KB n = 10, 3189 is a correct answer
19 Correct 3 ms 376 KB n = 10, 7000000000 is a correct answer
20 Correct 2 ms 376 KB n = 5, 12 is a correct answer
21 Correct 2 ms 376 KB n = 5, 25 is a correct answer
22 Correct 2 ms 376 KB n = 2, 122 is a correct answer
23 Correct 4 ms 376 KB n = 10, 117 is a correct answer
24 Correct 4 ms 376 KB n = 10, 336 is a correct answer
25 Correct 3 ms 376 KB n = 10, 438 is a correct answer
26 Correct 2 ms 376 KB n = 10, 206 is a correct answer
27 Correct 3 ms 376 KB n = 10, 636 is a correct answer
28 Correct 2 ms 376 KB n = 4, 2399 is a correct answer
29 Correct 4 ms 376 KB n = 10, 10992 is a correct answer
30 Correct 4 ms 376 KB n = 10, 3112 is a correct answer
31 Execution timed out 2037 ms 1500 KB Time limit exceeded
32 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB n = 4, 80 is a correct answer
2 Correct 2 ms 376 KB n = 9, 110 is a correct answer
3 Correct 2 ms 376 KB n = 4, 21 is a correct answer
4 Correct 2 ms 376 KB n = 3, 4 is a correct answer
5 Correct 2 ms 376 KB n = 2, 62 is a correct answer
6 Correct 2 ms 376 KB n = 2, 3 is a correct answer
7 Correct 2 ms 376 KB n = 3, 29 is a correct answer
8 Correct 2 ms 376 KB n = 2, 3 is a correct answer
9 Correct 2 ms 376 KB n = 2, 3 is a correct answer
10 Correct 2 ms 376 KB n = 2, 2000000001 is a correct answer
11 Correct 2 ms 376 KB n = 2, 3000000000 is a correct answer
12 Correct 1 ms 420 KB n = 3, 3000000000 is a correct answer
13 Correct 2 ms 376 KB n = 3, 3000000000 is a correct answer
14 Correct 2 ms 376 KB n = 4, 3000000001 is a correct answer
15 Correct 2 ms 376 KB n = 4, 4000000000 is a correct answer
16 Correct 2 ms 376 KB n = 5, 4000000000 is a correct answer
17 Correct 4 ms 248 KB n = 10, 1000000343 is a correct answer
18 Correct 4 ms 376 KB n = 10, 3189 is a correct answer
19 Correct 3 ms 376 KB n = 10, 7000000000 is a correct answer
20 Correct 2 ms 376 KB n = 5, 12 is a correct answer
21 Correct 2 ms 376 KB n = 5, 25 is a correct answer
22 Correct 2 ms 376 KB n = 2, 122 is a correct answer
23 Correct 4 ms 376 KB n = 10, 117 is a correct answer
24 Correct 4 ms 376 KB n = 10, 336 is a correct answer
25 Correct 3 ms 376 KB n = 10, 438 is a correct answer
26 Correct 2 ms 376 KB n = 10, 206 is a correct answer
27 Correct 3 ms 376 KB n = 10, 636 is a correct answer
28 Correct 2 ms 376 KB n = 4, 2399 is a correct answer
29 Correct 4 ms 376 KB n = 10, 10992 is a correct answer
30 Correct 4 ms 376 KB n = 10, 3112 is a correct answer
31 Execution timed out 2037 ms 1500 KB Time limit exceeded
32 Halted 0 ms 0 KB -