Code Submission Evaluation System Login

BOI 2016, day 1

Start:2016-05-12 09:00:00
End:2016-05-12 14:00:00
 

Tasks | Scoreboard | Statistics


CSES - BOI 2016, day 1 - Results
History
2016-05-12 10:41:09100
2016-05-12 10:38:000
2016-05-12 10:28:050
2016-05-12 10:27:150
Task:Bosses
Sender:jDomantas
Submission time:2016-05-12 10:41:09
Language:C++
Status:READY
Score:100

Feedback

groupverdictscore
#1ACCEPTED22
#2ACCEPTED45
#3ACCEPTED33

Test results

testverdicttime (s)group
#1ACCEPTED0.05 / 1.501details
#2ACCEPTED0.05 / 1.501details
#3ACCEPTED0.05 / 1.501details
#4ACCEPTED0.05 / 1.501details
#5ACCEPTED0.06 / 1.501details
#6ACCEPTED0.05 / 1.501details
#7ACCEPTED0.05 / 1.502details
#8ACCEPTED0.05 / 1.502details
#9ACCEPTED0.06 / 1.502details
#10ACCEPTED0.05 / 1.502details
#11ACCEPTED0.05 / 1.502details
#12ACCEPTED0.06 / 1.503details
#13ACCEPTED0.06 / 1.503details
#14ACCEPTED0.15 / 1.503details
#15ACCEPTED0.06 / 1.503details
#16ACCEPTED0.53 / 1.503details
#17ACCEPTED0.67 / 1.503details
#18ACCEPTED0.66 / 1.503details

Compiler report

input/code.cpp:1:0: warning: ignoring #pragma comment  [-Wunknown-pragmas]
 #pragma comment(linker, "/stack:20000000")
 ^
input/code.cpp: In function 'int calc(int)':
input/code.cpp:35:38: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
 #define fori(n) for(int i = 0; i < (n); ++i)
                                      ^
input/code.cpp:71:3: note: in expansion of macro 'fori'
   fori(childs[item].size()) {
   ^

Code

#pragma comment(linker, "/stack:20000000")
#define _CRT_SECURE_NO_DEPRECATE
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <vector>
#include <queue>
#include <stack>
#include <map>
#include <set>
#include <limits.h>
#include <algorithm>
#include <iomanip>
#include <string>
#include <string.h>
#include <math.h>
#include <fstream>
using namespace std;
/**/
typedef long long ll;
typedef unsigned long long ull;
typedef pair<ll, ll> pll;
typedef pair<int, int> pii;
typedef pair<pii, int> piii;
typedef pair<pll, ll> plll;
typedef pair<double, double> pdd;

#define fst first
#define snd second

#define mp(a, b) make_pair((a), (b))
#define pp push_back
#define PI 3.1415926535897.9323846264338327

#define fori(n) for(int i = 0; i < (n); ++i)
#define forj(n) for(int j = 0; j < (n); ++j)
#define forir(n) for(int i = (n) - 1; i >= 0; --i)
#define forjr(n) for(int j = (n) - 1; j >= 0; --j)

void redirectIO() {
#if defined(_DEBUG) || defined(_RELEASE)
	freopen("input.txt", "r", stdin);
	freopen("output.txt", "w", stdout);
#endif
}

#define mod 1000000009

#if defined(_DEBUG) || defined(_RELEASE)
#define maxn 5
#else
#define maxn 2000
#endif

int n;
vector<int> childs[5000];

int level[5000];
int lvlcnt[5001];

int calc(int root) {
	memset(level, -1, sizeof(int) * 5000);

	queue<int> q;
	q.push(root);
	level[root] = 1;
	int result = 1;
	int assigned = 1;
	while (!q.empty()) {
		int item = q.front(); q.pop();
		fori(childs[item].size()) {
			int child = childs[item][i];
			if (level[child] == -1) {
				level[child] = level[item] + 1;
				result += level[child];
				q.push(child);
				assigned++;
			}
		}
	}

	if (assigned < n) 
		return 0x7FFFFFFF;
	else
		return result;
}

int main()
{
	redirectIO();
	
	cin >> n;
	fori(n) {
		int k;
		cin >> k;
		forj(k) {
			int c;
			cin >> c;
			childs[c - 1].pp(i);
		}
	}

	int best = 0x7FFFFFFF;
	fori(n) {
		int r = calc(i);
		if (r < best) 
			best = r;
	}

	cout << best << endl;
}

Test details

Test 1

Group: 1

Verdict: ACCEPTED

input
4
1 4
3 1 3 4
2 1 2
1 3
view   save

correct output
8

view   save

user output
8

view   save

Test 2

Group: 1

Verdict: ACCEPTED

input
6
2 6 5
3 4 6 3
2 4 1
4 5 3 1 6
...
view   save

correct output
12

view   save

user output
12

view   save

Test 3

Group: 1

Verdict: ACCEPTED

input
9
2 6 3
2 8 4
0
4 8 3 6 9
...
view   save

correct output
22

view   save

user output
22

view   save

Test 4

Group: 1

Verdict: ACCEPTED

input
10
3 3 2 8
3 6 7 3
4 6 10 7 9
1 10
...
view   save

correct output
24

view   save

user output
24

view   save

Test 5

Group: 1

Verdict: ACCEPTED

input
10
3 4 8 10
1 10
1 5
3 6 8 5
...
view   save

correct output
23

view   save

user output
23

view   save

Test 6

Group: 1

Verdict: ACCEPTED

input
10
2 2 6
2 3 5
2 4 1
2 6 7
...
view   save

correct output
26

view   save

user output
26

view   save

Test 7

Group: 2

Verdict: ACCEPTED

input
100
2 78 92
1 15
1 57
1 45
...
view   save

correct output
527

view   save

user output
527

view   save

Test 8

Group: 2

Verdict: ACCEPTED

input
50
6 16 31 50 6 4 8
7 7 16 27 22 15 30 14
5 20 22 42 33 37
3 18 45 9
...
view   save

correct output
156

view   save

user output
156

view   save

Test 9

Group: 2

Verdict: ACCEPTED

input
30
5 12 26 25 18 24
8 6 13 5 7 10 22 20 29
6 16 14 9 27 5 20
3 19 17 11
...
view   save

correct output
77

view   save

user output
77

view   save

Test 10

Group: 2

Verdict: ACCEPTED

input
100
2 2 77
3 99 94 85
2 47 29
2 33 74
...
view   save

correct output
428

view   save

user output
428

view   save

Test 11

Group: 2

Verdict: ACCEPTED

input
100
3 50 11 85
2 84 69
2 41 39
2 43 82
...
view   save

correct output
617

view   save

user output
617

view   save

Test 12

Group: 3

Verdict: ACCEPTED

input
200
46 154 36 47 187 86 48 66 124 ...
view   save

correct output
531

view   save

user output
531

view   save

Test 13

Group: 3

Verdict: ACCEPTED

input
150
60 32 101 42 139 95 36 81 83 1...
view   save

correct output
370

view   save

user output
370

view   save

Test 14

Group: 3

Verdict: ACCEPTED

input
5000
1 3355
1 2176
1 3754
1 950
...
view   save

correct output
6256017

view   save

user output
6256017

view   save

Test 15

Group: 3

Verdict: ACCEPTED

input
5000
1 848
1 418
1 3390
1 2840
...
view   save

correct output
45193

view   save

user output
45193

view   save

Test 16

Group: 3

Verdict: ACCEPTED

input
5000
2 4629 753
1 345
3 3573 1802 449
1 3051
...
view   save

correct output
27449

view   save

user output
27449

view   save

Test 17

Group: 3

Verdict: ACCEPTED

input
5000
2 2282 1819
2 2987 3194
2 3472 4256
2 3226 3684
...
view   save

correct output
39850

view   save

user output
39850

view   save

Test 18

Group: 3

Verdict: ACCEPTED

input
5000
2 1912 3423
2 419 4226
2 1627 4693
2 4760 1391
...
view   save

correct output
40097

view   save

user output
40097

view   save