Language: C++

a#include<bits/stdc++.h>
using namespace std;

#define int           long long
#define S             second
#define F             first
#define pb            push_back
#define ppb           pop_back()
#define ppb           pop_back()
#define B(c)          (c).begin()
#define E(c)          (c).end()
#define all(c)        (c).begin(),(c).end()
#define rall(c)       (c).rbegin(),(c).rend() 
#define lb            lower_bound
#define si(c)         (int)((c).size())
#define lcm(a, b)      (a * (b / __gcd(a,b)))  
#define inf           (int)(2e18)
#define err           cerr << "move" << '\n';
#define endl          '\n'
#define pow(x, n)     (int)(pow(x, n))
#define mp            make_pair
#define tp            template
#define ty            typename

typedef vector<int>                           vi;
typedef pair<int,int>                         pii;
typedef vector<pii>                           vpi;
typedef priority_queue<pii, vector<pii>, greater<pii> > pq;

clock_t start;
mt19937_64 rng(chrono::system_clock::now().time_since_epoch().count());

tp<ty T1, ty T2, ty T3> struct query{
    T1 ss; T2 x; T3 y;
};
tp<ty T1, ty T2, ty T3> bool operator<(query<T1, T2, T3> &o1, query<T1, T2, T3> &o2){
    return o1.x < o2.x;
}
tp<ty T1, ty T2, ty T3> istream& operator>>(istream& in, query<T1, T2, T3> &q){
    in >> q.ss >> q.x >> q.y; return in;
}
tp<ty T1, ty T2, ty T3> ostream& operator<<(ostream& out, query<T1, T2, T3> &q){
    out << q.ss << " " << q.x << " " << q.y; return out;
}


void solve(){  
    int r, c;
    cin >> r >> c;
    if(min(r, c) == 1){
        cout << 1 << endl; return;
    }
    if(r*c % 2 == 0){
        cout << r*c/2 << endl;
    }
    else cout << r*c/2+1 << endl;
}

signed main(){

    ios_base::sync_with_stdio(0); 
    cin.tie(0); cout.tie(0);   

    int t = 1;
    start = clock(); 

    cout << fixed << setprecision(15);

    // #ifndef ONLINE_JUDGE
    // freopen("input.txt", "r", stdin); 
    // freopen("output.txt", "w", stdout);
    // freopen("error.txt", "w", stderr);
    // #endif

    //cin >> t;
    
    while(t--){
        solve();
    }

    double time_taken = double(clock() - start) / double(CLOCKS_PER_SEC); 
    //cerr << time_taken;
}

Compiler output:
a.cc:1:2: error: stray '#' in program
    1 | a#include<bits/stdc++.h>
      |  ^
a.cc:1:1: error: 'a' does not name a type
    1 | a#include<bits/stdc++.h>
      | ^
a.cc:25:9: error: 'vector' does not name a type
   25 | typedef vector<int>                           vi;
      |         ^~~~~~
a.cc:26:9: error: 'pair' does not name a type
   26 | typedef pair<int,int>                         pii;
      |         ^~~~
a.cc:27:9: error: 'vector' does not name a type
   27 | typedef vector<pii>                           vpi;
      |         ^~~~~~
a.cc:28:9: error: 'priority_queue' does not name a type
   28 | typedef priority_queue<pii, vector<pii>, greater<pii> > pq;
      |         ^~~~~~~~~~~~~~
a.cc:30:1: error: 'clock_t' does not name a type
   30 | clock_t start;
      | ^~~~~~~
a.cc:1:1: note: 'clock_t' is defined in header '<ctime>'; this is probably fixable by adding '#include <ctime>'
  +++ |+#include <ctime>
    1 | a#include<bits/stdc++.h>
a.cc:31:1: error: 'mt19937_64' does not name a type
   31 | mt19937_64 rng(chrono::system_clock::now().time_since_epoch().count());
      | ^~~~~~~~~~
a.cc:39:25: error: 'istream' does not name a type
   39 | tp<ty T1, ty T2, ty T3> istream& operator>>(istream& in, query<T1, T2, T3> &q){
      |                         ^~~~~~~
a.cc:42:25: error: 'ostream' does not name a type
   42 | tp<ty T1, ty T2, ty T3> ostream& operator<<(ostream& out, query<T1, T2, T3> &q){
      |                         ^~~~~~~
a.cc: In function 'void solve()':
a.cc:49:5: error: 'cin' was not declared in this scope
   49 |     cin >> r >> c;
      |     ^~~
a.cc:50:8: error: 'min' was not declared in this scope
   50 |     if(min(r, c) == 1){
      |        ^~~
a.cc:51:9: error: 'cout' was not declared in this scope
   51 |         cout << 1 << endl; return;
      |         ^~~~
a.cc:54:9: error: 'cout' was not declared in this scope
   54 |         cout << r*c/2 << endl;
      |         ^~~~
a.cc:56:10: error: 'cout' was not declared in this scope
   56 |     else cout << r*c/2+1 << endl;
      |          ^~~~
a.cc: In function 'int main()':
a.cc:61:5: error: 'ios_base' has not been declared
   61 |     ios_base::sync_with_stdio(0);
      |     ^~~~~~~~
a.cc:62:5: error: 'cin' was not declared in this scope
   62 |     cin.tie(0); cout.tie(0);
      |     ^~~
a.cc:62:17: error: 'cout' was not declared in this scope
   62 |     cin.tie(0); cout.tie(0);
      |                 ^~~~
a.cc:65:5: error: 'start' was not declared in this scope
   65 |     start = clock();
      |     ^~~~~
a.cc:65:13: error: 'clock' was not declared in this scope
   65 |     start = clock();
      |             ^~~~~
a.cc:65:13: note: 'clock' is defined in header '<ctime>'; this is probably fixable by adding '#include <ctime>'
a.cc:67:13: error: 'fixed' was not declared in this scope
   67 |     cout << fixed << setprecision(15);
      |             ^~~~~
a.cc:67:22: error: 'setprecision' was not declared in this scope
   67 |     cout << fixed << setprecision(15);
      |                      ^~~~~~~~~~~~
a.cc:81:58: error: 'CLOCKS_PER_SEC' was not declared in this scope
   81 |     double time_taken = double(clock() - start) / double(CLOCKS_PER_SEC);
      |                                                          ^~~~~~~~~~~~~~