Submission #89325

# Submission time Handle Problem Language Result Execution time Memory
89325 2018-12-11T18:02:46 Z vvash17 Triumphal arch (POI13_luk) C++14
70 / 100
2000 ms 25284 KB

#include <iostream>
#include <vector>
#include <map>
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++){
		int tmp = graph[search_start][i];
		if(been_there[tmp] == 0){
			available_neigbours++;
			sub_tree_res += evaluate_result(tmp,need_num,been_there);
		}
	}
	
	int res = available_neigbours-(need_num-sub_tree_res);
	if(res < 0){
		return 0;
	}else{
	return res;
	}
}
int search_init(int &need_num){
	int been_there[city_num+1] = {0};
	int start = 1;
	return evaluate_result(start,need_num,been_there);
}
int main() {
	scanf("%d",&city_num);
	for(int i = 1; i<city_num; i++){
		scanf("%d %d",&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;
		}
	}
	
	printf("%d",result);
    return 0;
}

Compilation message

luk.cpp: In function 'int evaluate_result(int&, int&, int*)':
luk.cpp:17:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(int i = 0; i<graph[search_start].size(); i++){
                 ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
luk.cpp: In function 'int main()':
luk.cpp:38:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d",&city_num);
  ~~~~~^~~~~~~~~~~~~~~~
luk.cpp:40:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d %d",&from,&to);
   ~~~~~^~~~~~~~~~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 8 ms 7288 KB Output is correct
2 Correct 8 ms 7412 KB Output is correct
3 Correct 9 ms 7448 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 8 ms 7448 KB Output is correct
2 Correct 7 ms 7448 KB Output is correct
3 Correct 9 ms 7636 KB Output is correct
4 Correct 8 ms 7636 KB Output is correct
5 Correct 7 ms 7636 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 8 ms 7636 KB Output is correct
2 Correct 8 ms 7636 KB Output is correct
3 Correct 7 ms 7636 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 8 ms 7636 KB Output is correct
2 Correct 8 ms 7636 KB Output is correct
3 Correct 8 ms 7636 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 16 ms 7904 KB Output is correct
2 Correct 13 ms 8164 KB Output is correct
3 Correct 41 ms 8164 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 39 ms 8672 KB Output is correct
2 Correct 26 ms 9824 KB Output is correct
3 Correct 336 ms 9824 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 127 ms 11372 KB Output is correct
2 Correct 102 ms 13804 KB Output is correct
3 Execution timed out 2029 ms 13804 KB Time limit exceeded
# Verdict Execution time Memory Grader output
1 Correct 461 ms 15052 KB Output is correct
2 Correct 206 ms 20716 KB Output is correct
3 Execution timed out 2060 ms 20716 KB Time limit exceeded
# Verdict Execution time Memory Grader output
1 Correct 1128 ms 20716 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1162 ms 20716 KB Output is correct
2 Correct 582 ms 25284 KB Output is correct
3 Execution timed out 2050 ms 25284 KB Time limit exceeded