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 12:09:24100
2016-05-12 12:06:2467
2016-05-12 12:04:0867
2016-05-12 12:00:3967
2016-05-12 11:50:430
2016-05-12 11:08:350
2016-05-12 10:54:580
2016-05-12 10:52:360
2016-05-12 10:39:100
2016-05-12 10:23:490
Task:Bosses
Sender:Kerim.K
Submission time:2016-05-12 12:09:24
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.06 / 1.501details
#4ACCEPTED0.05 / 1.501details
#5ACCEPTED0.06 / 1.501details
#6ACCEPTED0.05 / 1.501details
#7ACCEPTED0.05 / 1.502details
#8ACCEPTED0.05 / 1.502details
#9ACCEPTED0.05 / 1.502details
#10ACCEPTED0.05 / 1.502details
#11ACCEPTED0.05 / 1.502details
#12ACCEPTED0.06 / 1.503details
#13ACCEPTED0.06 / 1.503details
#14ACCEPTED0.18 / 1.503details
#15ACCEPTED0.07 / 1.503details
#16ACCEPTED0.60 / 1.503details
#17ACCEPTED0.78 / 1.503details
#18ACCEPTED0.78 / 1.503details

Compiler report

input/code.cpp: In function 'bool bfs(int)':
input/code.cpp:35:30: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for(int i=0;i<adj[nd].size();i++){
                              ^
input/code.cpp: In function 'int main()':
input/code.cpp:57:16: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d",&a);
                ^
input/code.cpp:59:17: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d",&K);
                 ^
input/code.cpp:61:18: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
    scanf("%d",&u);
                  ^

Code

#include<stdio.h>
#include<algorithm>
#include<vector>
#include<string.h>
#include<queue>
#define MAXN 5009
#define INF 1000000007
#define imx 2147483647
#define LLINF 1000000000000000007
#define mp(x,y) make_pair(x,y)
#define wr cout<<"Continue Debugging!!!"<<endl;
#define ff first
#define ss second
#define all(x) x.begin(),x.end()
#define pb(x) push_back(x)
#define ppb() pop_back()
#define tr(i, c) for(typeof((c).begin()) i = (c).begin(); i!=(c).end(); i++)
using namespace std;
typedef long long ll;
typedef pair<int,int>PII;
template<class T> bool umin(T& a, T b) { if(a > b){ a = b;return 1;}return 0;}
template<class T> bool umax(T& a, T b) { if(a < b){ a = b;return 1;}return 0;}
//freopen(".in", "r", stdin);
//freopen(".out", "w", stdout);
int vis[MAXN],a;
ll sub[MAXN];
vector<int>adj[MAXN];
bool bfs(int x){
	int ppq=1;vis[x]=1;
	queue<int>q;q.push(x);
	sub[x]=1LL;
	while(!q.empty()){
		int nd=q.front();
		q.pop();
		for(int i=0;i<adj[nd].size();i++){
			int to=adj[nd][i];
			if(!vis[to]){
				sub[to]=sub[nd]+1LL;
				q.push(to),ppq++;
				vis[to]=1;
			}
		}
	}
	return (ppq==a);
}
ll mn=1e14;
ll go(int nd){
	memset(vis,0,sizeof vis);	
	memset(sub,0,sizeof sub);	
	if (!bfs(nd)) return ll(1e14);
	ll ans=0;
	for(int i=1;i<=a;i++)
		ans+=sub[i];
	return ans;	
}
int main(){
	scanf("%d",&a);
	for(int i=1;i<=a;i++){int K,u;
		scanf("%d",&K);
		for(int j=1;j<=K;j++){
			scanf("%d",&u);
			adj[u].pb(i);
		}
	}
	for(int i=1;i<=a;i++)
		umin(mn,go(i));
	printf("%lld\n",mn);	
	return 0;
}
//LooK aT mY COde ONlinE +_+

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