Problem p02536 (C++) — buggy submission, verdict: Runtime Error

/*
       ▄▄▄▄▄▄▄▄▄▄▄  ▄▄▄▄▄▄▄▄▄▄▄  ▄▄▄▄▄▄▄▄▄▄
      ▐░░░░░░░░░░░▌▐░░░░░░░░░░░▌▐░░░░░░░░░░▌
      ▐░█▀▀▀▀▀▀▀▀▀ ▐░█▀▀▀▀▀▀▀█░▌▐░█▀▀▀▀▀▀▀█░▌
      ▐░▌          ▐░▌       ▐░▌▐░▌       ▐░▌
      ▐░▌ ▄▄▄▄▄▄▄▄ ▐░▌       ▐░▌▐░▌       ▐░▌
      ▐░▌▐░░░░░░░░▌▐░▌       ▐░▌▐░▌       ▐░▌
      ▐░▌ ▀▀▀▀▀▀█░▌▐░▌       ▐░▌▐░▌       ▐░▌
      ▐░▌       ▐░▌▐░▌       ▐░▌▐░▌       ▐░▌
      ▐░█▄▄▄▄▄▄▄█░▌▐░█▄▄▄▄▄▄▄█░▌▐░█▄▄▄▄▄▄▄█░▌
      ▐░░░░░░░░░░░▌▐░░░░░░░░░░░▌▐░░░░░░░░░░▌
       ▀▀▀▀▀▀▀▀▀▀▀  ▀▀▀▀▀▀▀▀▀▀▀  ▀▀▀▀▀▀▀▀▀▀

 #can_change_the_world_with_the_help_of_0_1
                                    -darshan786    */

#include <bits/stdc++.h>
using namespace std;
#define pb push_back
#define mod 1000000007
#define boost                                                                  \\
  ios_base::sync_with_stdio(false);                                            \\
  cin.tie(0);
#define F first
#define MAXN 100005
#define int long long
#define S second
#define all(v) v.begin(), v.end()
#define PI pair<int, int>
#define PIS pair<int, string>

int values[41];
int vis[100005] = {0};
void value() {
  values[0] = 1;
  for (int i = 1; i <= 40; i++) {
    values[i] = 2 * values[i - 1];
  }
}
vector<int> adj[MAXN];
void dfs(int u) {
  vis[u] = 1;
  for (auto x : adj[u]) {
    if (!vis[x]) {
      dfs(x);
    }
  }
}
int32_t main() {
  boost

      int n,
      m;
  cin >> n >> m;
  for (int i = 0; i < m; ++i) {
    int u, v;
    cin >> u >> v;
    adj[u].push_back(v);
    adj[v].push_back(u);
  }
  int ans = 0;
  for (int i = 1; i <= n; ++i) {
    if (!vis[i]) {
      ans++;

      dfs(i);
    }
  }
  cout << ans - 1;
}


Error: -11

Fixed submission:

/*
       ▄▄▄▄▄▄▄▄▄▄▄  ▄▄▄▄▄▄▄▄▄▄▄  ▄▄▄▄▄▄▄▄▄▄
      ▐░░░░░░░░░░░▌▐░░░░░░░░░░░▌▐░░░░░░░░░░▌
      ▐░█▀▀▀▀▀▀▀▀▀ ▐░█▀▀▀▀▀▀▀█░▌▐░█▀▀▀▀▀▀▀█░▌
      ▐░▌          ▐░▌       ▐░▌▐░▌       ▐░▌
      ▐░▌ ▄▄▄▄▄▄▄▄ ▐░▌       ▐░▌▐░▌       ▐░▌
      ▐░▌▐░░░░░░░░▌▐░▌       ▐░▌▐░▌       ▐░▌
      ▐░▌ ▀▀▀▀▀▀█░▌▐░▌       ▐░▌▐░▌       ▐░▌
      ▐░▌       ▐░▌▐░▌       ▐░▌▐░▌       ▐░▌
      ▐░█▄▄▄▄▄▄▄█░▌▐░█▄▄▄▄▄▄▄█░▌▐░█▄▄▄▄▄▄▄█░▌
      ▐░░░░░░░░░░░▌▐░░░░░░░░░░░▌▐░░░░░░░░░░▌
       ▀▀▀▀▀▀▀▀▀▀▀  ▀▀▀▀▀▀▀▀▀▀▀  ▀▀▀▀▀▀▀▀▀▀

 #can_change_the_world_with_the_help_of_0_1
                                    -darshan786    */

#include <bits/stdc++.h>
using namespace std;
#define pb push_back
#define mod 1000000007
#define boost                                                                  \\
  ios_base::sync_with_stdio(false);                                            \\
  cin.tie(0);
#define F first
#define MAXN 100005
#define int long long
#define S second
#define all(v) v.begin(), v.end()
#define PI pair<int, int>
#define PIS pair<int, string>

int values[41];
int vis[10005];
void value() {
  values[0] = 1;
  for (int i = 1; i <= 40; i++) {
    values[i] = 2 * values[i - 1];
  }
}
vector<int> adj[MAXN];
void dfs(int u) {
  vis[u] = 1;
  for (auto x : adj[u]) {
    if (!vis[x]) {
      dfs(x);
    }
  }
}
int32_t main() {
  boost
#ifndef ONLINE_JUDGE
      freopen("input.c", "r", stdin);
  freopen("output.c", "w", stdout);
#endif

  int n, m;
  cin >> n >> m;
  value();
  for (int i = 0; i < m; ++i) {
    int u, v;
    cin >> u >> v;
    adj[u].push_back(v);
    adj[v].push_back(u);
  }
  int ans = 0;
  for (int i = 1; i <= n; ++i) {
    if (!vis[i]) {
      ans++;
      memset(vis, 0, sizeof vis);
      dfs(i);
    }
  }
  cout << ans - 1;
}