Submission #336383

#TimeUsernameProblemLanguageResultExecution timeMemory
336383sumit_kk10Dreaming (IOI13_dreaming)C++14
0 / 100
91 ms36472 KiB
#include <bits/stdc++.h> #include <dreaming.h> #define fast ios_base::sync_with_stdio(0);cin.tie(NULL);cout.tie(NULL) #define ll long long int #define ld long double using namespace std; const int N = 1e6 + 5; const int MOD = 1e9 + 7; vector<pair<long long int, long long int> > graph[N]; bool vis[N]; long long int mx = 0, node, node1; vector<int> disconnected, connected; void dfs(int source, long long int largest){ vis[source] = 1; if(largest >= mx){ mx = largest; node1 = source; } connected.push_back(source); for(auto k : graph[source]) if(!vis[k.first]) dfs(k.first, largest + k.second); } void dfs1(int source){ vis[source] = 1; connected.push_back(source); for(auto k : graph[source]){ if(!vis[k.first]){ if(k.second >= mx){ mx = k.second; node = source; } dfs1(k.first); } } } int travelTime(int N, int M, int L, int A[], int B[], int T[]){ for(int i = 0; i < M; ++i){ long long int u = A[i], v = B[i], c = T[i]; graph[u].push_back({v, c}); graph[v].push_back({u, c}); } for(int i = 0; i < N; ++i){ if(!vis[i]){ node = i; dfs1(i); // cout << node << '\n'; disconnected.push_back(node); mx = 0; // cout << node << '\n'; } } for(int i = 0; i < N; ++i) vis[i] = 0; int u = disconnected[0]; for(int i = 1; i < disconnected.size(); ++i){ int v = disconnected[i]; graph[u].push_back({v, L}); graph[v].push_back({u, L}); } mx = 0; dfs(0, 0); long long int ans = mx; for(int i = 0; i < N; ++i) vis[i] = 0; mx = 0; dfs(node1, 0); return max(ans, mx); }

Compilation message (stderr)

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