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

#include <bits/stdc++.h>
#include <bitset>
#include <map>
#include <set>
#define rep(i, a, b) for (i = a; i < b; i++)
#define itrep(at) for (auto it = at.begin(); it != at.end(); it++)
#define lli long long int
#define pb push_back
#define eb emplace_back
#define mp make_pair
#define db double
#define M 1000000007
#define pi 3.1415926535897932384626433832795028841971
#define INF 9223372036854775801

#define MAX 1000005

using namespace std;
lli min(lli a, lli b) { return a < b ? a : b; }
lli min(lli a, lli b, lli c) {
  a = min(a, b);
  a = min(a, c);
  return a;
}
lli max(lli a, lli b) { return a > b ? a : b; }
lli max(lli a, lli b, lli c) {
  a = max(a, b);
  a = max(a, c);
  return a;
}
lli dsum(lli n) {
  lli ans = 0;
  while (n) {
    ans += (n % 10);
    n /= 10;
  }
  return ans;
}
lli power(lli a, lli b) {
  lli res = 1;
  while (b) {
    if (b & 1)
      res = res * a;
    a = a * a;
    b >>= 1;
  }
  return res;
}

struct pll {
  lli x, y;
};
bool comp(pll a, pll b) {
  if (a.x == b.x)
    return a.y < b.y;
  else
    return a.x < b.x;
}
void solve(lli the) {
  //	char ch;
  //	long db aa,bb,cc;
  //	string s1,s2,s3,str;
  //    lli i,j,k,a,b,c,d,n,m,l,r,x,y,low,high,mid,sum=0,ans=0,temp,t;
  lli i, n;
  cin >> n;
  lli arr[n];
  rep(i, 0, n - 1) cin >> arr[i];
  lli freq[n + 1];
  rep(i, 0, n + 1) freq[i] = 0;
  for (i = 0; i < n - 1; i++) {
    freq[arr[i]]++;
  }
  for (i = 1; i <= n; i++) {
    cout << freq[i] << endl;
  }
}

int main() {
  long long int t = 1, c = 1;
  // scanf("%lld",&t);
  while (t--) {
    solve(c);
    c++;
  }
  return 0;
}
/* UJJWAL KESHRI */

Error: -11

Fixed submission:

#include <bits/stdc++.h>
#include <bitset>
#include <map>
#include <set>
#define rep(i, a, b) for (i = a; i < b; i++)
#define itrep(at) for (auto it = at.begin(); it != at.end(); it++)
#define lli long long int
#define pb push_back
#define eb emplace_back
#define mp make_pair
#define db double
#define M 1000000007
#define pi 3.1415926535897932384626433832795028841971
#define INF 9223372036854775801

#define MAX 1000005

using namespace std;
lli min(lli a, lli b) { return a < b ? a : b; }
lli min(lli a, lli b, lli c) {
  a = min(a, b);
  a = min(a, c);
  return a;
}
lli max(lli a, lli b) { return a > b ? a : b; }
lli max(lli a, lli b, lli c) {
  a = max(a, b);
  a = max(a, c);
  return a;
}
lli dsum(lli n) {
  lli ans = 0;
  while (n) {
    ans += (n % 10);
    n /= 10;
  }
  return ans;
}
lli power(lli a, lli b) {
  lli res = 1;
  while (b) {
    if (b & 1)
      res = res * a;
    a = a * a;
    b >>= 1;
  }
  return res;
}

struct pll {
  lli x, y;
};
bool comp(pll a, pll b) {
  if (a.x == b.x)
    return a.y < b.y;
  else
    return a.x < b.x;
}
void solve(lli the) {
  char ch;
  long db aa, bb, cc;
  string s1, s2, s3, str;
  lli i, j, k, a, b, c, d, n, m, l, r, x, y, low, high, mid, sum = 0, ans = 0,
                                                             temp, t;
  cin >> n;
  lli arr[n];
  rep(i, 0, n - 1) cin >> arr[i];
  lli freq[n + 1];
  rep(i, 0, n + 1) freq[i] = 0;
  for (i = 0; i < n; i++) {
    freq[arr[i]]++;
  }
  for (i = 1; i <= n; i++) {
    cout << freq[i] << endl;
  }
}

int main() {
  long long int t = 1, c = 1;
  // scanf("%lld",&t);
  while (t--) {
    solve(c);
    c++;
  }
  return 0;
}
/* UJJWAL KESHRI */