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:23:53100
2016-05-12 12:20:160
2016-05-12 12:13:190
2016-05-12 12:07:490
2016-05-12 12:06:35
2016-05-12 11:46:070
2016-05-12 11:37:190
2016-05-12 11:31:510
Task:Bosses
Sender:whitewind664
Submission time:2016-05-12 12:23:53
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.05 / 1.501details
#6ACCEPTED0.05 / 1.501details
#7ACCEPTED0.06 / 1.502details
#8ACCEPTED0.05 / 1.502details
#9ACCEPTED0.06 / 1.502details
#10ACCEPTED0.05 / 1.502details
#11ACCEPTED0.06 / 1.502details
#12ACCEPTED0.06 / 1.503details
#13ACCEPTED0.06 / 1.503details
#14ACCEPTED0.19 / 1.503details
#15ACCEPTED0.07 / 1.503details
#16ACCEPTED0.59 / 1.503details
#17ACCEPTED0.79 / 1.503details
#18ACCEPTED0.80 / 1.503details

Compiler report

input/code.cpp: In function 'int main()':
input/code.cpp:66:39: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
             for (int j=0; j<v[c].size(); j++)
                                       ^

Code

#include <iostream>
#include <vector>
#include <queue>
#define f first
#define s second

using namespace std;

//struct sorting
//{
//    bool operator()(pair<int, int> a, pair<int, int> b)
//    {
//        return a.s<b.s;
//    }
//};

//vector<int> vp[5000][5000];
//int l[5000], br[5000]={0};
//
//int presmeti(int p, int k)
//{
//    l[k]=1;
//    for (int i=0; i<vp[p][k].size(); i++)
//    {
//        l[k]+=presmeti(p, vp[p][k][i]);
//    }
//    br[p]+=l[k];
//    return l[k];
//}

int main()
{
    ios::sync_with_stdio(0);
    cin.tie(0);
    int n;
    cin >> n;
    vector<int> v[n];
    for (int i=0; i<n; i++)
    {
        int a;
        cin >> a;
        for (int j=0; j<a; j++)
        {
            int p;
            cin >> p;
            v[p-1].push_back(i);
        }
    }
    int naj=99999999;
    for (int i=0; i<n; i++)
    {
        int b[5000], klo[5000], sar=0;
        for (int j=0; j<5000; j++)
        {
            b[j]=0;
            klo[j]=0;
        }
        queue<int> q;
        q.push(i);
        klo[0]++;
        while (!q.empty())
        {
            int c=q.front();
            q.pop();
            sar++;
            for (int j=0; j<v[c].size(); j++)
            {
                if (v[c][j]!=i && b[v[c][j]]==0)
                {
//                    vp[i][c].push_back(v[c][j]);
                    b[v[c][j]]=b[c]+1;
                    q.push(v[c][j]);
                    klo[b[c]+1]++;
                }
            }
//            if (qwe && b1[c]==0 && c!=i)
//            {
////                cout << c << endl;
//                qp.push(make_pair(c, b[c]));
//                b1[c]=1;
//            }
        }
        if (sar!=n)
        {
            continue;
        }
//        while (!qp.empty())
//        {
//            pair<int, int> c=qp.top();
//            qp.pop();
////            cout << c.f << " " << l[c.f] << endl;
//            br+=l[c.f];
//            if (c.f==i)
//            {
////                cout << br << endl;
//                naj=min(br, naj);
//                break;
//            }
//            l[root[c.f]]+=l[c.f];
//            if (!b1[root[c.f]])
//            {
//                b1[root[c.f]]=1;
//                qp.push(make_pair(root[c.f], b[root[c.f]]));
//            }
//        }
        int br=0;
        for (int i=0; klo[i]!=0; i++)
        {
            br+=klo[i]*(i+1);
        }
        naj=min(naj, br);
    }
    cout << naj << endl;
    return 0;
}

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