Problem p02707 (C++)

Buggy submission (status: Time Limit Exceeded):
/**********************************************************************
File    .cpp
Author  Takahiro Yamazaki
**********************************************************************/
/**********************************************************************
Include Libraries
**********************************************************************/
#include <algorithm>
#include <iostream>
#include <string.h>
#include <vector>
using namespace std;
#define rep(i, n) for (int i = 0; i < (int)(n); i++)
#define repr(i, a, b) for (int i = a; i < b; i++)
/**********************************************************************
Declare variables
**********************************************************************/
/**********************************************************************
Declare instance
**********************************************************************/
/**********************************************************************
Proto_type_Declare functions
**********************************************************************/
/**********************************************************************
Main
**********************************************************************/
int main() {
  int n;
  cin >> n;
  int a[220000];
  a[0] = 0;
  repr(i, 1, n) cin >> a[i];
  int ans[220000];

  rep(i, n) ans[i] = 0;
  int counter = 0;
  int tmp;
  /* 数値を昇順にソート */
  for (int i = 0; i < n; ++i) {
    for (int j = i + 1; j < n; ++j) {
      if (a[i] > a[j]) {
        tmp = a[i];
        a[i] = a[j];
        a[j] = tmp;
      }
    }
  }

  rep(i, n) {
    repr(j, 1 + counter, n) {
      if (a[j] == i + 1) {
        ans[i]++;
        counter++;
      } else if (a[j] != i + 1)
        break;
    }
  }
  // int j = 0;
  // repr(i, 1, n){
  //   if (a[i] == j) {
  //     ans[i]++;
  //   }
  // }
  // printf("%d\n", n);
  // rep(i,n) a[i] = 0;
  rep(i, n) printf("%d\n", ans[i]);
}
/**********************************************************************
Functions
**********************************************************************/


Fixed submission:
/**********************************************************************
File    .cpp
Author  Takahiro Yamazaki
**********************************************************************/
/**********************************************************************
Include Libraries
**********************************************************************/
#include <algorithm>
#include <iostream>
#include <string.h>
#include <vector>
using namespace std;
#define rep(i, n) for (int i = 0; i < (int)(n); i++)
#define repr(i, a, b) for (int i = a; i < b; i++)
/**********************************************************************
Declare variables
**********************************************************************/
/**********************************************************************
Declare instance
**********************************************************************/
/**********************************************************************
Proto_type_Declare functions
**********************************************************************/
/**********************************************************************
Main
**********************************************************************/
int main() {
  int n;
  cin >> n;
  int a[220000];
  a[0] = 0;
  repr(i, 1, n) cin >> a[i];
  int ans[220000];

  rep(i, n) ans[i] = 0;
  int counter = 0;
  // int tmp;
  // /* 数値を昇順にソート */
  // for (int i=0; i<n; ++i) {
  //   for (int j=i+1; j<n; ++j) {
  //     if (a[i] > a[j]) {
  //       tmp =  a[i];
  //       a[i] = a[j];
  //       a[j] = tmp;
  //     }
  //   }
  // }
  sort(a, a + n);
  rep(i, n) {
    repr(j, 1 + counter, n) {
      if (a[j] == i + 1) {
        ans[i]++;
        counter++;
      } else if (a[j] != i + 1)
        break;
    }
  }
  // int j = 0;
  // repr(i, 1, n){
  //   if (a[i] == j) {
  //     ans[i]++;
  //   }
  // }
  // printf("%d\n", n);
  // rep(i,n) a[i] = 0;
  rep(i, n) printf("%d\n", ans[i]);
}
/**********************************************************************
Functions
**********************************************************************/