답안 #1055924

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1055924 2024-08-13T06:37:29 Z 김은성(#11066) Summer Driving (CCO24_day1problem3) C++17
5 / 25
208 ms 96916 KB
#include <bits/stdc++.h>
using namespace std;
vector<int> graph[1000009];
int par[1000009], depth[1000009];
vector<int> child[1000009];
int pos[1000009];
void settree(int v){
	for(int u: graph[v]){
		if(par[v] == u)
			continue;
		par[u] = v;
		child[v].push_back(u);
		depth[u] = depth[v] + 1;
		settree(u);
	}
}
int main(){
	int n, r, a, b, i, u, v;
	scanf("%d %d %d %d", &n, &r, &a, &b);
	for(i=1; i<n; i++){
		scanf("%d %d", &u, &v);
		graph[u].push_back(v);
		graph[v].push_back(u);
	}
	settree(r);
	int k, l;
	if(a >= n){
		pos[min(n, b+1)]--;
		pos[0]++;
	}
	for(k=1; a*k<n; k++){
		if(a*k + k*b + a >= n){
			if(min(n, a*k + k*b + b + 1) < 0){
				printf("1\n");
				return 0;
			}
			pos[min(n, a*k + k*b + b + 1)]--;
			if(max(n-a, a*k-b) > n){
				printf("1\n");
				return 0;
			}
			pos[max(n-a, a*k-b)]++;
		}
		if(min(n, a*k + (k-1)*b) < 0){
			printf("1\n");
				return 0;
		}
		pos[min(n, a*k + (k-1)*b)]--;
		if(max(0, a*k-b) > n){
			printf("1\n");
			return 0;
		}
		pos[max(0, a*k-b)]++;
	}
	for(i=1; i<n; i++){
		pos[i] += pos[i-1];
	}
	for(i=1; i<=n; i++){
		if(pos[depth[i]] > 0){
			printf("%d\n", i);
			return 0;
		}
	}
	return 0;
}

Compilation message

Main.cpp: In function 'int main()':
Main.cpp:26:9: warning: unused variable 'l' [-Wunused-variable]
   26 |  int k, l;
      |         ^
Main.cpp:19:7: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   19 |  scanf("%d %d %d %d", &n, &r, &a, &b);
      |  ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Main.cpp:21:8: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   21 |   scanf("%d %d", &u, &v);
      |   ~~~~~^~~~~~~~~~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Correct 163 ms 65520 KB Output is correct
2 Correct 149 ms 65360 KB Output is correct
3 Correct 147 ms 65964 KB Output is correct
4 Correct 181 ms 66280 KB Output is correct
5 Correct 17 ms 47340 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 203 ms 92972 KB Output is correct
2 Correct 208 ms 93012 KB Output is correct
3 Correct 135 ms 92908 KB Output is correct
4 Correct 124 ms 93012 KB Output is correct
5 Correct 188 ms 91472 KB Output is correct
6 Correct 162 ms 93008 KB Output is correct
7 Correct 161 ms 92800 KB Output is correct
8 Correct 172 ms 93200 KB Output is correct
9 Correct 177 ms 90704 KB Output is correct
10 Correct 165 ms 96860 KB Output is correct
11 Correct 169 ms 96916 KB Output is correct
12 Correct 19 ms 47196 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Incorrect 18 ms 47448 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 18 ms 47448 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 47 ms 53340 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 18 ms 47448 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 163 ms 65520 KB Output is correct
2 Correct 149 ms 65360 KB Output is correct
3 Correct 147 ms 65964 KB Output is correct
4 Correct 181 ms 66280 KB Output is correct
5 Correct 17 ms 47340 KB Output is correct
6 Correct 203 ms 92972 KB Output is correct
7 Correct 208 ms 93012 KB Output is correct
8 Correct 135 ms 92908 KB Output is correct
9 Correct 124 ms 93012 KB Output is correct
10 Correct 188 ms 91472 KB Output is correct
11 Correct 162 ms 93008 KB Output is correct
12 Correct 161 ms 92800 KB Output is correct
13 Correct 172 ms 93200 KB Output is correct
14 Correct 177 ms 90704 KB Output is correct
15 Correct 165 ms 96860 KB Output is correct
16 Correct 169 ms 96916 KB Output is correct
17 Correct 19 ms 47196 KB Output is correct
18 Incorrect 18 ms 47448 KB Output isn't correct
19 Halted 0 ms 0 KB -