Submission #1055411

#TimeUsernameProblemLanguageResultExecution timeMemory
1055411vjudge1Pipes (CEOI15_pipes)C++17
10 / 100
786 ms65536 KiB
#include <bits/stdc++.h> using namespace std; #pragma GCC optimize("O3") #define endl '\n' #define db double #define ll __int128 //#define int long long #define pb push_back #define fs first #define sd second #define Mod long(1e9 + 7) #define all(x) x.begin(), x.end() #define unvisited long(-1) #define Eps double(1e-9) #define _for(i, n) for(int i = 0; i < (n); i++) #define dbg(x) cout << #x ": " << x << endl; const int Max = 1e6 + 7, Inf = 1e16 + 7; void print(bool x) { cout << (x ? "YES" : "NO") << endl; } string tostring (__int128 x) { string ans = ""; while(x > 0) { ans += (x % 10 + '0'); x /= 10; } reverse(all(ans)); return ans; } vector <vector<int>> v; vector <int> l, s; int idx; void dfs(int node, int parent) { l[node] = s[node] = idx; idx++; for(auto& u : v[node]) if(u != parent) { if(s[u] == 0){ dfs(u, node); if(s[node] < l[u]){ cout << node << " " << u << endl; } l[node] = min(l[node], l[u]); } else l[node] = min(l[node], s[u]); } } void solve() { int n, m; cin >> n >> m; v.assign(n+1, vector <int> ()); l.assign(n+1, 0); s.assign(n+1, 0); idx = 1; for(int i = 0; i < m; i++){ int a, b; cin >> a >> b; v[a].pb(b); v[b].pb(a); } for(int i = 1; i <= n; i++) if(s[i] == 0){ dfs(i, 0); } } int32_t main() { ios_base::sync_with_stdio(0); cin.tie(0); int Q = 1; //cin >> Q; while (Q--) { solve(); } return 0; }

Compilation message (stderr)

pipes.cpp:19:37: warning: overflow in conversion from 'double' to 'int' changes value from '1.0000000000000008e+16' to '2147483647' [-Woverflow]
   19 | const int Max = 1e6 + 7, Inf = 1e16 + 7;
      |                                ~~~~~^~~
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...