decoder__'s blog

By decoder__, history, 4 years ago, In English

Hello everyone, while solving problems the code template I use on codeforces doesn't work on CSES. Can anyone point out what can be done in the template so that it can be used in both places. Here is my template

#include <vector>
#include <list>
#include <map>
#include <climits>
#include <set>
#include <deque>
#include <stack>
#include <bitset>
#include <algorithm>
#include <functional>
#include <numeric>
#include <utility>
#include <sstream>
#include <iostream>
#include <iomanip>
#include <cstdio>
#include <cmath>
#include <cstdlib>
#include <ctime>
#include <queue>
#include <unordered_map>
#define fastio        ios_base::sync_with_stdio(false); cin.tie(NULL);
#define ln            cout << endl;
#define vi            vector<int>
#define vll           vector<long long>
#define sortl(vec)    sort(vec.begin(), vec.end());
#define sortr(vec)    sort(vec.rbegin(), vec.rend());
#define forn(i, x, n) for(long long i = x; i < n; i++)
#define revn(i, n, x) for(long long i = n; i >= x; i--)
#define in(vec)       for(auto &it : vec) cin >> it;
#define	out(vec)      for(auto &it : vec) cout << it << " "; ln
#define ll            long long
#define pb            emplace_back
#define mp            make_pair
#define um            unordered_map
#define pii           pair<int, int>
#define pll           pair<ll, ll>
#define ff            first
#define ss            second
#define pi            3.14159265359
#define o(x)          cout << x << endl;
#define all(a)        a.begin(), a.end()
#define sz(a)         (ll)a.size()
#define endl          "\n"
#define CLOCK         cerr<<"time taken : "<<(float)clock()/CLOCKS_PER_SEC<<" secs"<<endl;
using namespace std;

const ll Nfact = 200005;
const ll mod = 1000000007;
const ll Nsieve = 1000005;
//https://mirror.codeforces.com/blog/entry/74640?#comment-587521

vector<bool> is_prime(Nsieve, true);
void sieve() {
	is_prime[0] = is_prime[1] = false;
	for (ll i = 2; i * i <= Nsieve; i++) {
		if (is_prime[i]) {
			for (ll j = i * i; j <= Nsieve; j += i)
				is_prime[j] = false;
		}
	}
}

ll bSearch(ll l, ll r, ll x, vll arr) {
	while (l <= r) {
		ll m = l + (r - l) / 2;

		if (arr[m] == x)
			return m;

		if (arr[m] < x)
			l = m + 1;

		else
			r = m - 1;
	}

	return -1;
}
//For printing prime factors of a number
void primeFactors(ll n) {
	while (n % 2 == 0) {
		//cout << 2 << " ";
		n = n / 2;
	}

	for (ll i = 3; i <= sqrt(n); i += 2) {
		while (n % i == 0) {
			//cout << i << " ";
			n = n / i;
		}
	}

	if (n > 2)
		cout << n << " ";
}

ll power(ll x, ll y, ll p) {
	ll res = 1;
	x = x % p;

	while (y > 0) {
		if (y & 1)
			res = (res * x) % p;

		y = y >> 1;
		x = (x * x) % p;
	}
	return res;
}

ll modulo(ll a, ll b) {
	ll c = a % b;
	return (c < 0) ? c + b : c;
}

//Use these functions below only when modulus is involved
ll mul(ll x, ll y) {
	return (x * y) % mod;
}

ll inv(ll x) {
	return power(x, mod - 2, mod);
}

ll divide(ll x, ll y)
{
	return mul(x, inv(y));
}

ll fact[Nfact];
void precalc() { // Call this once in main()
	fact[0] = 1;
	for (ll i = 1; i < Nfact; i++)
		fact[i] = mul(fact[i - 1], i);
}

ll nCr(ll n, ll k) {
	if (n < k)
		return 0;
	return divide(fact[n], mul(fact[k], fact[n - k]));
}
void solve() {
	//[IMPORTANT] Make the indexing 0-based if required.
	ll n;
	cin >> n;
}

int main() {
// in(vec) works for size-defined type vectors

#ifndef ONLINE_JUDGE
	// for getting input from input.txt
	freopen("input1.txt", "r", stdin);
	// for writing output to output.txt
	freopen("output1.txt", "w", stdout);
#endif

	fastio
	ll t;
	cin >> t;
	while (t--) {
		solve();
	}
	CLOCK
	return 0;
}

  • Vote: I like it
  • +4
  • Vote: I do not like it

| Write comment?
»
4 years ago, # |
  Vote: I like it 0 Vote: I do not like it

Someone please help

  • »
    »
    4 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    Are you certain that OnlineJudge is defined in the compilation flags

»
4 years ago, # |
  Vote: I like it 0 Vote: I do not like it

CSES now supports the ONLINE_JUDGE flag in C++ submissions.

»
4 years ago, # |
  Vote: I like it 0 Vote: I do not like it

Can anyone share their code template which works on CSES, codeforces as well as on their local machines?

  • »
    »
    4 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    I try your template and it work fine (I also deleted define ONLINE_JUDGE thing).

    • »
      »
      »
      4 years ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      Can you share the link of CSES submission?

      • »
        »
        »
        »
        4 years ago, # ^ |
        Rev. 2   Vote: I like it 0 Vote: I do not like it

        https://cses.fi/problemset/result/889096/ //Edit : I have no idea if this how I should link it

        • »
          »
          »
          »
          »
          4 years ago, # ^ |
            Vote: I like it 0 Vote: I do not like it

          Can you send in the code here. I guess CSES doesn't allow access to others submissions

          • »
            »
            »
            »
            »
            »
            4 years ago, # ^ |
              Vote: I like it 0 Vote: I do not like it

            I sumbit it in the first problem "Weird Algorithm" ,If you solve it already you can go the hacks and check "zakaria2020" Submission

            • »
              »
              »
              »
              »
              »
              »
              4 years ago, # ^ |
                Vote: I like it 0 Vote: I do not like it

              Couldn't find the hacks section. Please help with code instead

              • »
                »
                »
                »
                »
                »
                »
                »
                4 years ago, # ^ |
                Rev. 2   Vote: I like it 0 Vote: I do not like it
                code
                • »
                  »
                  »
                  »
                  »
                  »
                  »
                  »
                  »
                  4 years ago, # ^ |
                    Vote: I like it 0 Vote: I do not like it

                  Yeah I forgot this code would work fine but this will not work on codeforces

                • »
                  »
                  »
                  »
                  »
                  »
                  »
                  »
                  »
                  4 years ago, # ^ |
                    Vote: I like it 0 Vote: I do not like it

                  I try it again in codeforces and it works 90776922

    • »
      »
      »
      4 years ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      The whole thing is that after we delete the online_judge thing, it doesn't work on local machine.

      • »
        »
        »
        »
        4 years ago, # ^ |
          Vote: I like it 0 Vote: I do not like it

        just comment it while submitting....

      • »
        »
        »
        »
        4 years ago, # ^ |
        Rev. 2   Vote: I like it 0 Vote: I do not like it

        Or if you use sublime you can use this build and completely eliminate the problematic lines..

        https://pastebin.com/ppxZrZN8

        • »
          »
          »
          »
          »
          4 years ago, # ^ |
            Vote: I like it +3 Vote: I do not like it

          Yeah I use sublime. Can you tell how the above thing can be done?

          • »
            »
            »
            »
            »
            »
            4 years ago, # ^ |
              Vote: I like it 0 Vote: I do not like it

            Go to build system -> new build system Copy the given code and save it.. Than compile and run your codes with this build instead of c++ single file.. Also make sure that input.txt and output.txt are located in same folder as your code. I am assuming that you have downloaded and installed minGW.