Submission #89314

# Submission time Handle Problem Language Result Execution time Memory
89314 2018-12-11T17:45:29 Z vvash17 Triumphal arch (POI13_luk) C++14
60 / 100
2000 ms 22152 KB

#include <cstdio>
#include <vector>
#include <map>
#include <iostream>
using namespace std;

vector<int> graph[300001];
int city_num,from,to;

int evaluate_result(int search_start,int &need_num,int been_there[]){
	int available_neigbours = 0;
	int sub_tree_res = 0;
	
	been_there[search_start]++;
	
	for(int i = 0; i<graph[search_start].size(); i++){
		if(been_there[graph[search_start][i]] == 0){
			available_neigbours++;
			sub_tree_res += evaluate_result(graph[search_start][i],need_num,been_there);
		}
	}
	
	int res = available_neigbours-(need_num-sub_tree_res);
	if(res>=0){
		return res;
	}
	return 0;
}
int search_init(int &need_num){
	if(need_num <= 0)return -1;
	if(need_num == 1)return need_num;
	int been_there[city_num+1];
	for(int i = 0; i<city_num; i++)been_there[i] = 0;
	
	return evaluate_result(1,need_num,been_there);
}
int main() {
	cin>>city_num;
	for(int i = 1; i<city_num; i++){
		cin>>from>>to;
		graph[from].push_back(to);
		graph[to].push_back(from);
	}
	int result = 0;
	
	for(int need_num = 0; need_num<=city_num; need_num++){
		result = search_init(need_num);
		if(result == 0){
			result = need_num;
			break;
		}
	}
	
	cout<<result<<endl;
    return 0;
}

Compilation message

luk.cpp: In function 'int evaluate_result(int, int&, int*)':
luk.cpp:18:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(int i = 0; i<graph[search_start].size(); i++){
                 ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 7 ms 7288 KB Output is correct
2 Correct 8 ms 7412 KB Output is correct
3 Correct 7 ms 7448 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 7 ms 7448 KB Output is correct
2 Correct 7 ms 7496 KB Output is correct
3 Correct 7 ms 7496 KB Output is correct
4 Incorrect 8 ms 7556 KB Output isn't correct
5 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 7 ms 7556 KB Output is correct
2 Correct 7 ms 7556 KB Output is correct
3 Correct 29 ms 7556 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 10 ms 7572 KB Output is correct
2 Correct 10 ms 7760 KB Output is correct
3 Correct 8 ms 7760 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 19 ms 7904 KB Output is correct
2 Correct 18 ms 8288 KB Output is correct
3 Correct 39 ms 8288 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 49 ms 8684 KB Output is correct
2 Correct 39 ms 9724 KB Output is correct
3 Correct 295 ms 9724 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 185 ms 11464 KB Output is correct
2 Correct 130 ms 12340 KB Output is correct
3 Execution timed out 2004 ms 12340 KB Time limit exceeded
# Verdict Execution time Memory Grader output
1 Correct 654 ms 15016 KB Output is correct
2 Correct 313 ms 19580 KB Output is correct
3 Execution timed out 2054 ms 19580 KB Time limit exceeded
# Verdict Execution time Memory Grader output
1 Correct 750 ms 19580 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1031 ms 19580 KB Output is correct
2 Correct 475 ms 22152 KB Output is correct
3 Execution timed out 2060 ms 22152 KB Time limit exceeded