Submission #102190

# Submission time Handle Problem Language Result Execution time Memory
102190 2019-03-23T10:56:02 Z rubenvd Ball Machine (BOI13_ballmachine) C++14
0 / 100
1000 ms 11456 KB
#include <bits/stdc++.h>
using namespace std;
int par[100005], val[100005];
bool filled[100005];
vector<int> child[100005];


int dfs( int u ){
	int mini = 1e9;
	for( auto v : child[u] ){
		//cout << u << " " << v << endl;
		mini = min(dfs(v), mini);
	}
	val[u] = min(u, mini);
	
	if( mini != 1e9 )
		return mini;
	else
		return u;
}

int add( int u ){
	int in, mini = 1e9;
	for( auto v : child[u] ){
		if( val[v] < mini && !filled[v] ){
			in = v;
			mini = val[v];
		}
	}


	if( mini == 1e9 ){
		filled[u] = true;
		return u;
	}
	else
		return add(in);
}

int del( int u ){
	int in = par[u], cnt = 0;

	filled[u] = false;
	while( filled[in] ){
		filled[u] = true;
		u = par[u];
		cnt++;
		filled[in] = false;
		in = par[in];
	}
	return cnt;
}

int main(){
	int n, q, root, type, k;
	cin >> n >> q;
	memset(filled, false, sizeof filled);

	for( int i = 1; i <= n; ++i ){
		cin >> par[i];
		child[par[i]].push_back(i);
		if( par[i] == 0 )
			root = i;
	}
	child[0].push_back(1);
	par[1]=0;

	dfs(root);

	for( int i= 0; i < q; ++i ){
		cin >> type >> k;
		if( type == 1 ){
			int out;
			for( int i = 0; i < k; ++i ){
				out = add(root);
			}
			cout << out << endl;
		} else {
			cout << del(k) << endl;
		}
	}
	return 0;
}

Compilation message

ballmachine.cpp: In function 'int add(int)':
ballmachine.cpp:33:13: warning: 'in' may be used uninitialized in this function [-Wmaybe-uninitialized]
   filled[u] = true;
   ~~~~~~~~~~^~~~~~
ballmachine.cpp: In function 'int main()':
ballmachine.cpp:33:13: warning: 'in' may be used uninitialized in this function [-Wmaybe-uninitialized]
   filled[u] = true;
   ~~~~~~~~~~^~~~~~
ballmachine.cpp:23:6: note: 'in' was declared here
  int in, mini = 1e9;
      ^~
ballmachine.cpp:68:5: warning: 'root' may be used uninitialized in this function [-Wmaybe-uninitialized]
  dfs(root);
  ~~~^~~~~~
# Verdict Execution time Memory Grader output
1 Incorrect 5 ms 2816 KB Output isn't correct
2 Incorrect 294 ms 4568 KB Output isn't correct
3 Incorrect 270 ms 4912 KB Output isn't correct
4 Incorrect 5 ms 2816 KB Output isn't correct
5 Incorrect 5 ms 2816 KB Output isn't correct
6 Incorrect 8 ms 2816 KB Output isn't correct
7 Incorrect 7 ms 2816 KB Output isn't correct
8 Incorrect 8 ms 2816 KB Output isn't correct
9 Incorrect 21 ms 2944 KB Output isn't correct
10 Incorrect 67 ms 3200 KB Output isn't correct
11 Incorrect 325 ms 4640 KB Output isn't correct
12 Incorrect 262 ms 4640 KB Output isn't correct
13 Incorrect 274 ms 4624 KB Output isn't correct
# Verdict Execution time Memory Grader output
1 Execution timed out 1041 ms 4388 KB Time limit exceeded
2 Execution timed out 1014 ms 7800 KB Time limit exceeded
3 Execution timed out 1077 ms 5368 KB Time limit exceeded
4 Execution timed out 1082 ms 4352 KB Time limit exceeded
5 Execution timed out 1079 ms 4224 KB Time limit exceeded
6 Execution timed out 1065 ms 4352 KB Time limit exceeded
7 Execution timed out 1069 ms 3840 KB Time limit exceeded
8 Execution timed out 1063 ms 4444 KB Time limit exceeded
9 Execution timed out 1080 ms 8312 KB Time limit exceeded
10 Execution timed out 1066 ms 7800 KB Time limit exceeded
11 Execution timed out 1078 ms 7800 KB Time limit exceeded
12 Execution timed out 1078 ms 6648 KB Time limit exceeded
13 Execution timed out 1076 ms 10364 KB Time limit exceeded
14 Execution timed out 1036 ms 5328 KB Time limit exceeded
# Verdict Execution time Memory Grader output
1 Execution timed out 1051 ms 5624 KB Time limit exceeded
2 Execution timed out 1043 ms 6632 KB Time limit exceeded
3 Execution timed out 1083 ms 9724 KB Time limit exceeded
4 Execution timed out 1067 ms 7160 KB Time limit exceeded
5 Execution timed out 1060 ms 6904 KB Time limit exceeded
6 Execution timed out 1082 ms 6780 KB Time limit exceeded
7 Execution timed out 1080 ms 5880 KB Time limit exceeded
8 Execution timed out 1089 ms 9592 KB Time limit exceeded
9 Execution timed out 1086 ms 8312 KB Time limit exceeded
10 Execution timed out 1071 ms 7800 KB Time limit exceeded
11 Execution timed out 1082 ms 7800 KB Time limit exceeded
12 Execution timed out 1068 ms 6648 KB Time limit exceeded
13 Execution timed out 1073 ms 11304 KB Time limit exceeded
14 Execution timed out 1072 ms 4852 KB Time limit exceeded
# Verdict Execution time Memory Grader output
1 Execution timed out 1066 ms 8200 KB Time limit exceeded
2 Execution timed out 1076 ms 6652 KB Time limit exceeded
3 Execution timed out 1079 ms 11456 KB Time limit exceeded
4 Execution timed out 1080 ms 8312 KB Time limit exceeded
5 Execution timed out 1076 ms 7928 KB Time limit exceeded
6 Execution timed out 1080 ms 7800 KB Time limit exceeded
7 Execution timed out 1088 ms 6648 KB Time limit exceeded
8 Execution timed out 1080 ms 11384 KB Time limit exceeded
9 Execution timed out 1077 ms 5176 KB Time limit exceeded