Submission #103613

# Submission time Handle Problem Language Result Execution time Memory
103613 2019-04-01T08:06:34 Z Nnandi Bosses (BOI16_bosses) C++14
100 / 100
628 ms 888 KB
#include <bits/stdc++.h>
using namespace std;

typedef long long ll;
const int maxn = 5005;

vector<int> graf[maxn];
int tav[maxn];

int n;

void ujra() {
    for(int i=0;i<n;i++) {
        tav[i] = -1;
    }
    return;
}


int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(NULL);
    cin>>n;
    for(int i=0;i<n;i++) {
        int k;
        cin>>k;
        for(int j=0;j<k;j++) {
            int from;
            cin>>from;
            from--;
            graf[from].push_back(i);
        }
    }

    ll summa = (ll)n*(n+1);
    for(int i=0;i<n;i++) {
        ujra();
        vector<int> sor(1,i);
        tav[i] = 0;
        int it = 0;
        ll jel = (ll) n;
        while(it < sor.size()) {
            int akt = sor[it];
            jel += tav[akt];
            for(int s:graf[akt]) {
                if(tav[s] == -1) {
                    tav[s] = tav[akt] + 1;
                    sor.push_back(s);
                }
            }
            it++;
        }
        if(sor.size() == n && summa > jel) {
            summa = jel;
        }
    }
    cout<<summa<<endl;
    return 0;
}

Compilation message

bosses.cpp: In function 'int main()':
bosses.cpp:44:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         while(it < sor.size()) {
               ~~~^~~~~~~~~~~~
bosses.cpp:55:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         if(sor.size() == n && summa > jel) {
            ~~~~~~~~~~~^~~~
# Verdict Execution time Memory Grader output
1 Correct 3 ms 512 KB Output is correct
2 Correct 3 ms 512 KB Output is correct
3 Correct 3 ms 512 KB Output is correct
4 Correct 2 ms 512 KB Output is correct
5 Correct 3 ms 384 KB Output is correct
6 Correct 3 ms 512 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 3 ms 512 KB Output is correct
2 Correct 3 ms 512 KB Output is correct
3 Correct 3 ms 512 KB Output is correct
4 Correct 2 ms 512 KB Output is correct
5 Correct 3 ms 384 KB Output is correct
6 Correct 3 ms 512 KB Output is correct
7 Correct 3 ms 384 KB Output is correct
8 Correct 2 ms 512 KB Output is correct
9 Correct 2 ms 512 KB Output is correct
10 Correct 4 ms 508 KB Output is correct
11 Correct 3 ms 512 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 3 ms 512 KB Output is correct
2 Correct 3 ms 512 KB Output is correct
3 Correct 3 ms 512 KB Output is correct
4 Correct 2 ms 512 KB Output is correct
5 Correct 3 ms 384 KB Output is correct
6 Correct 3 ms 512 KB Output is correct
7 Correct 3 ms 384 KB Output is correct
8 Correct 2 ms 512 KB Output is correct
9 Correct 2 ms 512 KB Output is correct
10 Correct 4 ms 508 KB Output is correct
11 Correct 3 ms 512 KB Output is correct
12 Correct 7 ms 640 KB Output is correct
13 Correct 6 ms 640 KB Output is correct
14 Correct 119 ms 788 KB Output is correct
15 Correct 15 ms 640 KB Output is correct
16 Correct 575 ms 804 KB Output is correct
17 Correct 560 ms 796 KB Output is correct
18 Correct 628 ms 888 KB Output is correct