Submission #1055405

#TimeUsernameProblemLanguageResultExecution timeMemory
1055405vjudge1Pipes (CEOI15_pipes)C++17
10 / 100
804 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> p; int idx = 1; int dfs(int node, int parent) { if(p[node]) return p[node]; p[node] = idx; idx++; int mn = Inf; for(auto& u : v[node]) if(u != parent) { int t = dfs(u, node); mn = min(mn, t); if(t > p[node]){ cout << node << " " << u << endl; } } return p[node] = mn; } void solve() { int n, m; cin >> n >> m; v.assign(n+1, vector <int> ()); p.assign(n+1,0 ); 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(!p[i]){ 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...