Submission #787569

# Submission time Handle Problem Language Result Execution time Memory
787569 2023-07-19T09:48:31 Z NothingXD Shortcut (IOI16_shortcut) C++17
0 / 100
2000 ms 8148 KB
#include "shortcut.h"
#include <bits/stdc++.h>

using namespace std;

typedef long long ll;
typedef double ld;
typedef pair<int,int> pii;
typedef pair<ll,ll> pll;
typedef complex<ld> point;

void debug_out(){cerr << endl;}

template<typename Head, typename... Tail>
void debug_out(Head H, Tail... T){
	cerr << H << ' ';
	debug_out(T...);
}

#define debug(...) cerr << "(" << #__VA_ARGS__ << "): ", debug_out(__VA_ARGS__)
#define F first
#define S second
#define all(x) x.begin(), x.end()
#define MP(x, y) make_pair(x, y)

const int maxn = 1e6 + 10;
const ll inf = 1e18;

int n, l[maxn], d[maxn], st, en, c;
ll h[maxn];

void bfs(int v){
	memset(h, 63, sizeof h);
	h[v] = 0;
	queue<int> q;
	q.push(v);
	while(!q.empty()){
		int v = q.front();
		q.pop();
		if (v && h[v-1] > h[v] + l[v-1]){
			h[v-1] = h[v] + l[v-1];
			q.push(v-1);
		}
		if (v < n-1 && h[v+1] > h[v] + l[v]){
			h[v+1] = h[v] + l[v];
			q.push(v+1);
		}
		if (v == st && h[en] > h[st] + c){
			h[en] = h[st] + c;
			q.push(en);
		}
		if (v == en && h[st] > h[en] + c){
			h[st] = h[en] + c;
			q.push(st);
		}
	}
}


long long find_shortcut(int N, std::vector<int> L, std::vector<int> D, int C){

	n = N, c = C;
	for (int i = 0; i < n; i++){
		if (i != n-1) l[i] = L[i];
		d[i] = D[i];
	}

	ll ans = inf;

	for (int i = 0; i < n; i++){
		for (int j = i+1; j < n; j++){
			st = i;
			en = j;
			ll res = 0;
			for (int k = 0; k < n; k++){
				bfs(k);
				for (int l = 0; l < n; l++){
					if (k == l) continue;
					res = max(res, h[l] + d[l] + d[k]);
				}
			}
			ans = min(ans, res);
		}
	}

    return ans;
}
# Verdict Execution time Memory Grader output
1 Correct 7 ms 8020 KB n = 4, 80 is a correct answer
2 Correct 46 ms 8120 KB n = 9, 110 is a correct answer
3 Correct 6 ms 8020 KB n = 4, 21 is a correct answer
4 Correct 4 ms 8020 KB n = 3, 4 is a correct answer
5 Correct 3 ms 8020 KB n = 2, 62 is a correct answer
6 Correct 4 ms 8084 KB n = 2, 3 is a correct answer
7 Correct 4 ms 8020 KB n = 3, 29 is a correct answer
8 Correct 5 ms 8020 KB n = 2, 3 is a correct answer
9 Correct 3 ms 8020 KB n = 2, 3 is a correct answer
10 Correct 4 ms 8148 KB n = 2, 2000000001 is a correct answer
11 Correct 4 ms 8148 KB n = 2, 3000000000 is a correct answer
12 Correct 6 ms 8068 KB n = 3, 3000000000 is a correct answer
13 Correct 4 ms 8020 KB n = 3, 3000000000 is a correct answer
14 Correct 9 ms 8148 KB n = 4, 3000000001 is a correct answer
15 Correct 6 ms 8140 KB n = 4, 4000000000 is a correct answer
16 Correct 10 ms 8136 KB n = 5, 4000000000 is a correct answer
17 Correct 63 ms 8020 KB n = 10, 1000000343 is a correct answer
18 Correct 66 ms 8120 KB n = 10, 3189 is a correct answer
19 Correct 66 ms 8116 KB n = 10, 7000000000 is a correct answer
20 Correct 10 ms 8020 KB n = 5, 12 is a correct answer
21 Correct 13 ms 8140 KB n = 5, 25 is a correct answer
22 Correct 3 ms 8020 KB n = 2, 122 is a correct answer
23 Correct 65 ms 8128 KB n = 10, 117 is a correct answer
24 Correct 64 ms 8120 KB n = 10, 336 is a correct answer
25 Correct 72 ms 8116 KB n = 10, 438 is a correct answer
26 Correct 71 ms 8020 KB n = 10, 206 is a correct answer
27 Correct 66 ms 8120 KB n = 10, 636 is a correct answer
28 Correct 6 ms 8136 KB n = 4, 2399 is a correct answer
29 Correct 64 ms 8116 KB n = 10, 10992 is a correct answer
30 Correct 71 ms 8120 KB n = 10, 3112 is a correct answer
31 Execution timed out 2071 ms 8020 KB Time limit exceeded
32 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 7 ms 8020 KB n = 4, 80 is a correct answer
2 Correct 46 ms 8120 KB n = 9, 110 is a correct answer
3 Correct 6 ms 8020 KB n = 4, 21 is a correct answer
4 Correct 4 ms 8020 KB n = 3, 4 is a correct answer
5 Correct 3 ms 8020 KB n = 2, 62 is a correct answer
6 Correct 4 ms 8084 KB n = 2, 3 is a correct answer
7 Correct 4 ms 8020 KB n = 3, 29 is a correct answer
8 Correct 5 ms 8020 KB n = 2, 3 is a correct answer
9 Correct 3 ms 8020 KB n = 2, 3 is a correct answer
10 Correct 4 ms 8148 KB n = 2, 2000000001 is a correct answer
11 Correct 4 ms 8148 KB n = 2, 3000000000 is a correct answer
12 Correct 6 ms 8068 KB n = 3, 3000000000 is a correct answer
13 Correct 4 ms 8020 KB n = 3, 3000000000 is a correct answer
14 Correct 9 ms 8148 KB n = 4, 3000000001 is a correct answer
15 Correct 6 ms 8140 KB n = 4, 4000000000 is a correct answer
16 Correct 10 ms 8136 KB n = 5, 4000000000 is a correct answer
17 Correct 63 ms 8020 KB n = 10, 1000000343 is a correct answer
18 Correct 66 ms 8120 KB n = 10, 3189 is a correct answer
19 Correct 66 ms 8116 KB n = 10, 7000000000 is a correct answer
20 Correct 10 ms 8020 KB n = 5, 12 is a correct answer
21 Correct 13 ms 8140 KB n = 5, 25 is a correct answer
22 Correct 3 ms 8020 KB n = 2, 122 is a correct answer
23 Correct 65 ms 8128 KB n = 10, 117 is a correct answer
24 Correct 64 ms 8120 KB n = 10, 336 is a correct answer
25 Correct 72 ms 8116 KB n = 10, 438 is a correct answer
26 Correct 71 ms 8020 KB n = 10, 206 is a correct answer
27 Correct 66 ms 8120 KB n = 10, 636 is a correct answer
28 Correct 6 ms 8136 KB n = 4, 2399 is a correct answer
29 Correct 64 ms 8116 KB n = 10, 10992 is a correct answer
30 Correct 71 ms 8120 KB n = 10, 3112 is a correct answer
31 Execution timed out 2071 ms 8020 KB Time limit exceeded
32 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 7 ms 8020 KB n = 4, 80 is a correct answer
2 Correct 46 ms 8120 KB n = 9, 110 is a correct answer
3 Correct 6 ms 8020 KB n = 4, 21 is a correct answer
4 Correct 4 ms 8020 KB n = 3, 4 is a correct answer
5 Correct 3 ms 8020 KB n = 2, 62 is a correct answer
6 Correct 4 ms 8084 KB n = 2, 3 is a correct answer
7 Correct 4 ms 8020 KB n = 3, 29 is a correct answer
8 Correct 5 ms 8020 KB n = 2, 3 is a correct answer
9 Correct 3 ms 8020 KB n = 2, 3 is a correct answer
10 Correct 4 ms 8148 KB n = 2, 2000000001 is a correct answer
11 Correct 4 ms 8148 KB n = 2, 3000000000 is a correct answer
12 Correct 6 ms 8068 KB n = 3, 3000000000 is a correct answer
13 Correct 4 ms 8020 KB n = 3, 3000000000 is a correct answer
14 Correct 9 ms 8148 KB n = 4, 3000000001 is a correct answer
15 Correct 6 ms 8140 KB n = 4, 4000000000 is a correct answer
16 Correct 10 ms 8136 KB n = 5, 4000000000 is a correct answer
17 Correct 63 ms 8020 KB n = 10, 1000000343 is a correct answer
18 Correct 66 ms 8120 KB n = 10, 3189 is a correct answer
19 Correct 66 ms 8116 KB n = 10, 7000000000 is a correct answer
20 Correct 10 ms 8020 KB n = 5, 12 is a correct answer
21 Correct 13 ms 8140 KB n = 5, 25 is a correct answer
22 Correct 3 ms 8020 KB n = 2, 122 is a correct answer
23 Correct 65 ms 8128 KB n = 10, 117 is a correct answer
24 Correct 64 ms 8120 KB n = 10, 336 is a correct answer
25 Correct 72 ms 8116 KB n = 10, 438 is a correct answer
26 Correct 71 ms 8020 KB n = 10, 206 is a correct answer
27 Correct 66 ms 8120 KB n = 10, 636 is a correct answer
28 Correct 6 ms 8136 KB n = 4, 2399 is a correct answer
29 Correct 64 ms 8116 KB n = 10, 10992 is a correct answer
30 Correct 71 ms 8120 KB n = 10, 3112 is a correct answer
31 Execution timed out 2071 ms 8020 KB Time limit exceeded
32 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 7 ms 8020 KB n = 4, 80 is a correct answer
2 Correct 46 ms 8120 KB n = 9, 110 is a correct answer
3 Correct 6 ms 8020 KB n = 4, 21 is a correct answer
4 Correct 4 ms 8020 KB n = 3, 4 is a correct answer
5 Correct 3 ms 8020 KB n = 2, 62 is a correct answer
6 Correct 4 ms 8084 KB n = 2, 3 is a correct answer
7 Correct 4 ms 8020 KB n = 3, 29 is a correct answer
8 Correct 5 ms 8020 KB n = 2, 3 is a correct answer
9 Correct 3 ms 8020 KB n = 2, 3 is a correct answer
10 Correct 4 ms 8148 KB n = 2, 2000000001 is a correct answer
11 Correct 4 ms 8148 KB n = 2, 3000000000 is a correct answer
12 Correct 6 ms 8068 KB n = 3, 3000000000 is a correct answer
13 Correct 4 ms 8020 KB n = 3, 3000000000 is a correct answer
14 Correct 9 ms 8148 KB n = 4, 3000000001 is a correct answer
15 Correct 6 ms 8140 KB n = 4, 4000000000 is a correct answer
16 Correct 10 ms 8136 KB n = 5, 4000000000 is a correct answer
17 Correct 63 ms 8020 KB n = 10, 1000000343 is a correct answer
18 Correct 66 ms 8120 KB n = 10, 3189 is a correct answer
19 Correct 66 ms 8116 KB n = 10, 7000000000 is a correct answer
20 Correct 10 ms 8020 KB n = 5, 12 is a correct answer
21 Correct 13 ms 8140 KB n = 5, 25 is a correct answer
22 Correct 3 ms 8020 KB n = 2, 122 is a correct answer
23 Correct 65 ms 8128 KB n = 10, 117 is a correct answer
24 Correct 64 ms 8120 KB n = 10, 336 is a correct answer
25 Correct 72 ms 8116 KB n = 10, 438 is a correct answer
26 Correct 71 ms 8020 KB n = 10, 206 is a correct answer
27 Correct 66 ms 8120 KB n = 10, 636 is a correct answer
28 Correct 6 ms 8136 KB n = 4, 2399 is a correct answer
29 Correct 64 ms 8116 KB n = 10, 10992 is a correct answer
30 Correct 71 ms 8120 KB n = 10, 3112 is a correct answer
31 Execution timed out 2071 ms 8020 KB Time limit exceeded
32 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 7 ms 8020 KB n = 4, 80 is a correct answer
2 Correct 46 ms 8120 KB n = 9, 110 is a correct answer
3 Correct 6 ms 8020 KB n = 4, 21 is a correct answer
4 Correct 4 ms 8020 KB n = 3, 4 is a correct answer
5 Correct 3 ms 8020 KB n = 2, 62 is a correct answer
6 Correct 4 ms 8084 KB n = 2, 3 is a correct answer
7 Correct 4 ms 8020 KB n = 3, 29 is a correct answer
8 Correct 5 ms 8020 KB n = 2, 3 is a correct answer
9 Correct 3 ms 8020 KB n = 2, 3 is a correct answer
10 Correct 4 ms 8148 KB n = 2, 2000000001 is a correct answer
11 Correct 4 ms 8148 KB n = 2, 3000000000 is a correct answer
12 Correct 6 ms 8068 KB n = 3, 3000000000 is a correct answer
13 Correct 4 ms 8020 KB n = 3, 3000000000 is a correct answer
14 Correct 9 ms 8148 KB n = 4, 3000000001 is a correct answer
15 Correct 6 ms 8140 KB n = 4, 4000000000 is a correct answer
16 Correct 10 ms 8136 KB n = 5, 4000000000 is a correct answer
17 Correct 63 ms 8020 KB n = 10, 1000000343 is a correct answer
18 Correct 66 ms 8120 KB n = 10, 3189 is a correct answer
19 Correct 66 ms 8116 KB n = 10, 7000000000 is a correct answer
20 Correct 10 ms 8020 KB n = 5, 12 is a correct answer
21 Correct 13 ms 8140 KB n = 5, 25 is a correct answer
22 Correct 3 ms 8020 KB n = 2, 122 is a correct answer
23 Correct 65 ms 8128 KB n = 10, 117 is a correct answer
24 Correct 64 ms 8120 KB n = 10, 336 is a correct answer
25 Correct 72 ms 8116 KB n = 10, 438 is a correct answer
26 Correct 71 ms 8020 KB n = 10, 206 is a correct answer
27 Correct 66 ms 8120 KB n = 10, 636 is a correct answer
28 Correct 6 ms 8136 KB n = 4, 2399 is a correct answer
29 Correct 64 ms 8116 KB n = 10, 10992 is a correct answer
30 Correct 71 ms 8120 KB n = 10, 3112 is a correct answer
31 Execution timed out 2071 ms 8020 KB Time limit exceeded
32 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 7 ms 8020 KB n = 4, 80 is a correct answer
2 Correct 46 ms 8120 KB n = 9, 110 is a correct answer
3 Correct 6 ms 8020 KB n = 4, 21 is a correct answer
4 Correct 4 ms 8020 KB n = 3, 4 is a correct answer
5 Correct 3 ms 8020 KB n = 2, 62 is a correct answer
6 Correct 4 ms 8084 KB n = 2, 3 is a correct answer
7 Correct 4 ms 8020 KB n = 3, 29 is a correct answer
8 Correct 5 ms 8020 KB n = 2, 3 is a correct answer
9 Correct 3 ms 8020 KB n = 2, 3 is a correct answer
10 Correct 4 ms 8148 KB n = 2, 2000000001 is a correct answer
11 Correct 4 ms 8148 KB n = 2, 3000000000 is a correct answer
12 Correct 6 ms 8068 KB n = 3, 3000000000 is a correct answer
13 Correct 4 ms 8020 KB n = 3, 3000000000 is a correct answer
14 Correct 9 ms 8148 KB n = 4, 3000000001 is a correct answer
15 Correct 6 ms 8140 KB n = 4, 4000000000 is a correct answer
16 Correct 10 ms 8136 KB n = 5, 4000000000 is a correct answer
17 Correct 63 ms 8020 KB n = 10, 1000000343 is a correct answer
18 Correct 66 ms 8120 KB n = 10, 3189 is a correct answer
19 Correct 66 ms 8116 KB n = 10, 7000000000 is a correct answer
20 Correct 10 ms 8020 KB n = 5, 12 is a correct answer
21 Correct 13 ms 8140 KB n = 5, 25 is a correct answer
22 Correct 3 ms 8020 KB n = 2, 122 is a correct answer
23 Correct 65 ms 8128 KB n = 10, 117 is a correct answer
24 Correct 64 ms 8120 KB n = 10, 336 is a correct answer
25 Correct 72 ms 8116 KB n = 10, 438 is a correct answer
26 Correct 71 ms 8020 KB n = 10, 206 is a correct answer
27 Correct 66 ms 8120 KB n = 10, 636 is a correct answer
28 Correct 6 ms 8136 KB n = 4, 2399 is a correct answer
29 Correct 64 ms 8116 KB n = 10, 10992 is a correct answer
30 Correct 71 ms 8120 KB n = 10, 3112 is a correct answer
31 Execution timed out 2071 ms 8020 KB Time limit exceeded
32 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 7 ms 8020 KB n = 4, 80 is a correct answer
2 Correct 46 ms 8120 KB n = 9, 110 is a correct answer
3 Correct 6 ms 8020 KB n = 4, 21 is a correct answer
4 Correct 4 ms 8020 KB n = 3, 4 is a correct answer
5 Correct 3 ms 8020 KB n = 2, 62 is a correct answer
6 Correct 4 ms 8084 KB n = 2, 3 is a correct answer
7 Correct 4 ms 8020 KB n = 3, 29 is a correct answer
8 Correct 5 ms 8020 KB n = 2, 3 is a correct answer
9 Correct 3 ms 8020 KB n = 2, 3 is a correct answer
10 Correct 4 ms 8148 KB n = 2, 2000000001 is a correct answer
11 Correct 4 ms 8148 KB n = 2, 3000000000 is a correct answer
12 Correct 6 ms 8068 KB n = 3, 3000000000 is a correct answer
13 Correct 4 ms 8020 KB n = 3, 3000000000 is a correct answer
14 Correct 9 ms 8148 KB n = 4, 3000000001 is a correct answer
15 Correct 6 ms 8140 KB n = 4, 4000000000 is a correct answer
16 Correct 10 ms 8136 KB n = 5, 4000000000 is a correct answer
17 Correct 63 ms 8020 KB n = 10, 1000000343 is a correct answer
18 Correct 66 ms 8120 KB n = 10, 3189 is a correct answer
19 Correct 66 ms 8116 KB n = 10, 7000000000 is a correct answer
20 Correct 10 ms 8020 KB n = 5, 12 is a correct answer
21 Correct 13 ms 8140 KB n = 5, 25 is a correct answer
22 Correct 3 ms 8020 KB n = 2, 122 is a correct answer
23 Correct 65 ms 8128 KB n = 10, 117 is a correct answer
24 Correct 64 ms 8120 KB n = 10, 336 is a correct answer
25 Correct 72 ms 8116 KB n = 10, 438 is a correct answer
26 Correct 71 ms 8020 KB n = 10, 206 is a correct answer
27 Correct 66 ms 8120 KB n = 10, 636 is a correct answer
28 Correct 6 ms 8136 KB n = 4, 2399 is a correct answer
29 Correct 64 ms 8116 KB n = 10, 10992 is a correct answer
30 Correct 71 ms 8120 KB n = 10, 3112 is a correct answer
31 Execution timed out 2071 ms 8020 KB Time limit exceeded
32 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 7 ms 8020 KB n = 4, 80 is a correct answer
2 Correct 46 ms 8120 KB n = 9, 110 is a correct answer
3 Correct 6 ms 8020 KB n = 4, 21 is a correct answer
4 Correct 4 ms 8020 KB n = 3, 4 is a correct answer
5 Correct 3 ms 8020 KB n = 2, 62 is a correct answer
6 Correct 4 ms 8084 KB n = 2, 3 is a correct answer
7 Correct 4 ms 8020 KB n = 3, 29 is a correct answer
8 Correct 5 ms 8020 KB n = 2, 3 is a correct answer
9 Correct 3 ms 8020 KB n = 2, 3 is a correct answer
10 Correct 4 ms 8148 KB n = 2, 2000000001 is a correct answer
11 Correct 4 ms 8148 KB n = 2, 3000000000 is a correct answer
12 Correct 6 ms 8068 KB n = 3, 3000000000 is a correct answer
13 Correct 4 ms 8020 KB n = 3, 3000000000 is a correct answer
14 Correct 9 ms 8148 KB n = 4, 3000000001 is a correct answer
15 Correct 6 ms 8140 KB n = 4, 4000000000 is a correct answer
16 Correct 10 ms 8136 KB n = 5, 4000000000 is a correct answer
17 Correct 63 ms 8020 KB n = 10, 1000000343 is a correct answer
18 Correct 66 ms 8120 KB n = 10, 3189 is a correct answer
19 Correct 66 ms 8116 KB n = 10, 7000000000 is a correct answer
20 Correct 10 ms 8020 KB n = 5, 12 is a correct answer
21 Correct 13 ms 8140 KB n = 5, 25 is a correct answer
22 Correct 3 ms 8020 KB n = 2, 122 is a correct answer
23 Correct 65 ms 8128 KB n = 10, 117 is a correct answer
24 Correct 64 ms 8120 KB n = 10, 336 is a correct answer
25 Correct 72 ms 8116 KB n = 10, 438 is a correct answer
26 Correct 71 ms 8020 KB n = 10, 206 is a correct answer
27 Correct 66 ms 8120 KB n = 10, 636 is a correct answer
28 Correct 6 ms 8136 KB n = 4, 2399 is a correct answer
29 Correct 64 ms 8116 KB n = 10, 10992 is a correct answer
30 Correct 71 ms 8120 KB n = 10, 3112 is a correct answer
31 Execution timed out 2071 ms 8020 KB Time limit exceeded
32 Halted 0 ms 0 KB -