제출 #292228

#제출 시각아이디문제언어결과실행 시간메모리
292228AbdelrahmanBosses (BOI16_bosses)C++17
67 / 100
1587 ms1196 KiB
#include <bits/stdc++.h> #define endl '\n' #define modulo 1000000007 #define int long long #pragma GCC optimize("-Ofast") #define float double #define PI 3.141592653589793238462643383279502884 #define sinDegrees(x) sin((x) * PI / 180.0) #define tanDegrees(x) tan((x) * PI / 180.0) #define atanDegrees(x) atan(x)* 180.0 / PI using namespace std; unordered_map<int, vector<int> > mp; bool visited[5001] = {0}; int mini=INT_MAX; int finale = 0, done=0; void solve(int emp) { vector<pair<int, int> > v; visited[emp]=1; v.push_back({emp, 1}); done++; finale++; int x=0; while (x!=v.size()) { if (finale>mini) break; auto p = v[x]; for (int i=0;i<mp[p.first].size();i++) { int a = mp[p.first][i]; //cout<<a<<" "; if (visited[a]) continue; done++; visited[a]=1; v.push_back({a, p.second+1}); finale+=p.second+1; } x++; } } int32_t main() { ios_base::sync_with_stdio(false); cin.tie(0); int n; cin>>n; for (int i=0;i<n;i++) { int a; cin>>a; while (a--) { int b; cin>>b; mp[b-1].push_back(i); } } for (int i=0;i<n;i++) { solve(i); if (done==n) { mini = min(finale, mini); } memset(visited, 0, sizeof(visited)); finale = 0; done=0; } cout<<mini; }

컴파일 시 표준 에러 (stderr) 메시지

bosses.cpp: In function 'void solve(long long int)':
bosses.cpp:27:13: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<std::pair<long long int, long long int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   27 |     while (x!=v.size())
      |            ~^~~~~~~~~~
bosses.cpp:32:23: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   32 |         for (int i=0;i<mp[p.first].size();i++)
      |                      ~^~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...