Problem p02924 (C++)

Buggy submission (status: Time Limit Exceeded):
/// __Macro's__
// #pragma GCC optimize("-O2")
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define II pair<int, int>
#define III pair<int, II>
#define VL vector<ll>
#define VI vector<int>
#define VII vector<II>
#define VIII vector<III>
#define VVI vector<vector<int>>
#define VVII vector<vector<II>>
#define fr first
#define sc second
#define mkpr make_pair
#define PQ priority_queue
#define pb push_back
#define eb emplace_back
#define all(v) v.begin(), v.end()
#define LINE putc('\n', stdout)
#define SPACE putc(' ', stdout)
#define TAB putc('\t', stdout)
#define fillarr(arr, val)                                                      \
  fill((int *)arr, (int *)arr + (sizeof(arr) / sizeof(int)), val)
#define Log2(x) (31 ^ __builtin_clz(x))
#define inf 2000000007
#define MOD 1000000007
#define getint ReadInt()
const char IO_MODE = 3; // in-->00<--out (MSB-->LSB) | 0: Norm, 1: Fast
inline ll ReadInt() {
  ll x = 0, s = 1;
  char c = getchar();
  while (c < '0' || c > '9') {
    if (c == '-')
      s = -1;
    c = getchar();
  }
  while (c >= '0' && c <= '9') {
    x = x * 10 + c - '0';
    c = getchar();
  }
  return s * x;
}
inline void WriteInt(ll x) {
  char c[20];
  if (!x) {
    putchar('0');
    return;
  }
  if (x < 0)
    putchar('-'), x = -x;
  int i = 0;
  while (x > 0)
    c[++i] = x % 10, x /= 10;
  while (i)
    putchar(c[i--] + 48);
}
template <typename T> inline void out(T x) {
  if (IO_MODE & 1)
    WriteInt(x);
  else if (typeid(x) == typeid(int))
    printf("%i", x);
  else
    printf("%lld", (ll)x);
}
template <typename T, typename... Args> inline void out(T x, Args... args) {
  out(x);
  SPACE;
  out(args...);
}
template <typename T> inline void in(T &x) {
  if (IO_MODE & 2)
    x = ReadInt();
  else if (typeid(x) == typeid(int))
    scanf("%i", &x);
  else if (typeid(x) == typeid(ll))
    scanf("%lld", &x);
}
template <typename T, typename... Args> inline void in(T &x, Args &...args) {
  in(x);
  in(args...);
}
int aa, bb, cc, dd, ee, ff, gg, hh, ii, jj, kk, mm, nn, oo, pp, qq, rr, ss, tt,
    uu, vv, ww, xx, yy, zz;
int tc;
///

#define nax 100100

int n;
int main() {
  in(n);
  ll ans = 0;
  for (int i = 0; i < n; i++) {
    ans += (i + 1) % ((i + 1) % n + 1);
  }
  cout << ans << endl;
}

Fixed submission:
/// __Macro's__
// #pragma GCC optimize("-O2")
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define II pair<int, int>
#define III pair<int, II>
#define VL vector<ll>
#define VI vector<int>
#define VII vector<II>
#define VIII vector<III>
#define VVI vector<vector<int>>
#define VVII vector<vector<II>>
#define fr first
#define sc second
#define mkpr make_pair
#define PQ priority_queue
#define pb push_back
#define eb emplace_back
#define all(v) v.begin(), v.end()
#define LINE putc('\n', stdout)
#define SPACE putc(' ', stdout)
#define TAB putc('\t', stdout)
#define fillarr(arr, val)                                                      \
  fill((int *)arr, (int *)arr + (sizeof(arr) / sizeof(int)), val)
#define Log2(x) (31 ^ __builtin_clz(x))
#define inf 2000000007
#define MOD 1000000007
#define getint ReadInt()
const char IO_MODE = 3; // in-->00<--out (MSB-->LSB) | 0: Norm, 1: Fast
inline ll ReadInt() {
  ll x = 0, s = 1;
  char c = getchar();
  while (c < '0' || c > '9') {
    if (c == '-')
      s = -1;
    c = getchar();
  }
  while (c >= '0' && c <= '9') {
    x = x * 10 + c - '0';
    c = getchar();
  }
  return s * x;
}
inline void WriteInt(ll x) {
  char c[20];
  if (!x) {
    putchar('0');
    return;
  }
  if (x < 0)
    putchar('-'), x = -x;
  int i = 0;
  while (x > 0)
    c[++i] = x % 10, x /= 10;
  while (i)
    putchar(c[i--] + 48);
}
template <typename T> inline void out(T x) {
  if (IO_MODE & 1)
    WriteInt(x);
  else if (typeid(x) == typeid(int))
    printf("%i", x);
  else
    printf("%lld", (ll)x);
}
template <typename T, typename... Args> inline void out(T x, Args... args) {
  out(x);
  SPACE;
  out(args...);
}
template <typename T> inline void in(T &x) {
  if (IO_MODE & 2)
    x = ReadInt();
  else if (typeid(x) == typeid(int))
    scanf("%i", &x);
  else if (typeid(x) == typeid(ll))
    scanf("%lld", &x);
}
template <typename T, typename... Args> inline void in(T &x, Args &...args) {
  in(x);
  in(args...);
}
int aa, bb, cc, dd, ee, ff, gg, hh, ii, jj, kk, mm, nn, oo, pp, qq, rr, ss, tt,
    uu, vv, ww, xx, yy, zz;
int tc;
///

#define nax 100100

int n;
int main() {
  in(n);
  ll ans = (ll)n * (n - 1) / 2;
  ans += n % 1;
  cout << ans << endl;
}