Submission #1005188

# Submission time Handle Problem Language Result Execution time Memory
1005188 2024-06-22T08:34:40 Z Mardonbekhazratov Race (IOI11_race) C++17
9 / 100
1607 ms 9652 KB
#pragma GCC optimize("Ofast")
#pragma GCC optimize("unroll-loops")
#include "race.h"
#include<vector>

using namespace std;

int n,k,ans,cnt=0,dis=0;
vector<vector<pair<int,int>>>v;

void dfs(int x,int p){
	if(dis==k){
		ans=min(ans,cnt);
		return;
	}
	for(auto [z,w]:v[x]){
		cnt++;
		dis+=w;
		if(z!=p && dis+w<=k) dfs(z,x);
		cnt--;
		dis-=w;
	}
}

// void solve(int x){
// 	queue<array<int,4>>q;
// 	q.push({x,x,0,0});
// 	while(!q.empty()){
// 		auto [x,p,dis,cnt]=q.front();
// 		q.pop();
// 		if(dis==k){
// 			ans=min(ans,cnt);
// 			continue;
// 		}
// 		for(auto [z,w]:v[x]){
// 			if(z!=p && dis+w<=k){
// 				q.push({z,x,dis+w,cnt+1});
// 			} 
// 		}
// 	}
// }

int best_path(int N, int K, int H[][2], int L[]){
	n=N;
	k=K;
	vector<long long>pref(n);
	pref[0]=0;
	v.resize(n);
	bool sub1=true;
	for(int i=0;i<n-1;i++){
		v[H[i][0]].push_back({H[i][1],L[i]});
		v[H[i][1]].push_back({H[i][0],L[i]});
		pref[i+1]=pref[i]+L[i];
		if(H[i][0]!=i || H[i][1]!=i+1) sub1=false;
	}
	ans=n;
	if(sub1){
		for(int i=0;i<n-1;i++){
			auto pos=lower_bound(pref.begin(),pref.end(),pref[i]+K)-pref.begin();
			if(pos!=n && pref[pos]-pref[i]==K) ans=min(ans,(int)pos-i);
		}
		return (ans==n ? -1 : ans);
	}
	for(int i=0;i<n;i++){
		dfs(i,i);
	}
	return (ans==n ? -1 : ans);
}
# Verdict Execution time Memory Grader output
1 Correct 0 ms 2396 KB Output is correct
2 Correct 0 ms 2396 KB Output is correct
3 Correct 0 ms 2396 KB Output is correct
4 Correct 0 ms 2396 KB Output is correct
5 Correct 0 ms 2396 KB Output is correct
6 Correct 0 ms 2396 KB Output is correct
7 Correct 1 ms 2396 KB Output is correct
8 Correct 0 ms 2396 KB Output is correct
9 Correct 1 ms 2392 KB Output is correct
10 Correct 1 ms 2648 KB Output is correct
11 Correct 1 ms 2396 KB Output is correct
12 Correct 0 ms 2396 KB Output is correct
13 Correct 0 ms 2396 KB Output is correct
14 Correct 1 ms 2396 KB Output is correct
15 Correct 1 ms 2396 KB Output is correct
16 Correct 0 ms 2396 KB Output is correct
17 Correct 0 ms 2396 KB Output is correct
18 Correct 0 ms 2396 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 2396 KB Output is correct
2 Correct 0 ms 2396 KB Output is correct
3 Correct 0 ms 2396 KB Output is correct
4 Correct 0 ms 2396 KB Output is correct
5 Correct 0 ms 2396 KB Output is correct
6 Correct 0 ms 2396 KB Output is correct
7 Correct 1 ms 2396 KB Output is correct
8 Correct 0 ms 2396 KB Output is correct
9 Correct 1 ms 2392 KB Output is correct
10 Correct 1 ms 2648 KB Output is correct
11 Correct 1 ms 2396 KB Output is correct
12 Correct 0 ms 2396 KB Output is correct
13 Correct 0 ms 2396 KB Output is correct
14 Correct 1 ms 2396 KB Output is correct
15 Correct 1 ms 2396 KB Output is correct
16 Correct 0 ms 2396 KB Output is correct
17 Correct 0 ms 2396 KB Output is correct
18 Correct 0 ms 2396 KB Output is correct
19 Incorrect 1 ms 2396 KB Output isn't correct
20 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 2396 KB Output is correct
2 Correct 0 ms 2396 KB Output is correct
3 Correct 0 ms 2396 KB Output is correct
4 Correct 0 ms 2396 KB Output is correct
5 Correct 0 ms 2396 KB Output is correct
6 Correct 0 ms 2396 KB Output is correct
7 Correct 1 ms 2396 KB Output is correct
8 Correct 0 ms 2396 KB Output is correct
9 Correct 1 ms 2392 KB Output is correct
10 Correct 1 ms 2648 KB Output is correct
11 Correct 1 ms 2396 KB Output is correct
12 Correct 0 ms 2396 KB Output is correct
13 Correct 0 ms 2396 KB Output is correct
14 Correct 1 ms 2396 KB Output is correct
15 Correct 1 ms 2396 KB Output is correct
16 Correct 0 ms 2396 KB Output is correct
17 Correct 0 ms 2396 KB Output is correct
18 Correct 0 ms 2396 KB Output is correct
19 Incorrect 1607 ms 9652 KB Output isn't correct
20 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 2396 KB Output is correct
2 Correct 0 ms 2396 KB Output is correct
3 Correct 0 ms 2396 KB Output is correct
4 Correct 0 ms 2396 KB Output is correct
5 Correct 0 ms 2396 KB Output is correct
6 Correct 0 ms 2396 KB Output is correct
7 Correct 1 ms 2396 KB Output is correct
8 Correct 0 ms 2396 KB Output is correct
9 Correct 1 ms 2392 KB Output is correct
10 Correct 1 ms 2648 KB Output is correct
11 Correct 1 ms 2396 KB Output is correct
12 Correct 0 ms 2396 KB Output is correct
13 Correct 0 ms 2396 KB Output is correct
14 Correct 1 ms 2396 KB Output is correct
15 Correct 1 ms 2396 KB Output is correct
16 Correct 0 ms 2396 KB Output is correct
17 Correct 0 ms 2396 KB Output is correct
18 Correct 0 ms 2396 KB Output is correct
19 Incorrect 1 ms 2396 KB Output isn't correct
20 Halted 0 ms 0 KB -