Submission #304630

#TimeUsernameProblemLanguageResultExecution timeMemory
304630dolijanBosses (BOI16_bosses)C++14
100 / 100
798 ms760 KiB
#include <bits/stdc++.h>
using namespace std;
const int mn=5069;
vector<vector<int> > graf(mn);
int kolko=0;
int bfs(int node,int n)
{
    bool visited[n+1];
    int level[n+1];
    for(int i=1;i<=n;i++) visited[i]=false;
    queue<int> q;
    q.push(node);
    visited[node]=true;
    int rez=0;
    level[node]=1;
    while(!q.empty())
    {
        int t=q.front();
        q.pop();
        rez+=level[t];
        kolko++;
        for(int i=0;i<graf[t].size();i++)
        {
            if(!visited[graf[t][i]])
            {
                q.push(graf[t][i]);
                level[graf[t][i]]=level[t]+1;
                visited[graf[t][i]]=true;
            }
        }
    }
    return rez;
}
int main()
{
    int n;
    cin>>n;
    for(int i=1;i<=n;i++)
    {
        int k;
        cin>>k;
        int inp;
        for(int j=0;j<k;j++)
        {
            cin>>inp;
            graf[inp].push_back(i);
        }
    }
    int mn=n*n;
    for(int i=1;i<=n;i++)
    {
        kolko=0;
        int sta=bfs(i,n);
        //cout<<i<<" "<<kolko<<endl;
        if(kolko==n)
        {
            //cout<<i<<sta<<endl;
            mn=min(mn,sta);
        }
    }
    cout<<mn<<endl;
}

Compilation message (stderr)

bosses.cpp: In function 'int bfs(int, int)':
bosses.cpp:22:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   22 |         for(int i=0;i<graf[t].size();i++)
      |                     ~^~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...