Submission #1003146


Source Code Expand

#include <cstdio>
#include <cstring>
#include <algorithm>
#include <vector>
#include <iostream>
#include <cassert>
#include <cmath>
#include <string>
#include <queue>
#include <set>
#include <map>
#include <cstdlib>

using namespace std;

#define TASKNAME ""

void solve(int test_number);

int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);
    cout.setf(ios::fixed);
    cout.precision(9);
    cerr.setf(ios::fixed);
    cerr.precision(3);
#ifdef LOCAL
    freopen("test.in", "r", stdin);
    freopen("test.out", "w", stdout);
#else
#endif
    int n = 1;
    for (int i = 0; i < n; i++) {
        solve(i);
    }
}

const int MAX_N = 100005;
const int MOD = 1000000007;


int n, a[MAX_N], b[MAX_N], fact[MAX_N];

void solve(int test_number) {
    scanf("%d", &n);
    for (int i = 0; i < n; i++) {
        scanf("%d", &a[i]);
    }
    for (int i = 0; i < n; i++) {
        scanf("%d"< &b[i]);
    }
    sort(a, a + n);
    sort(b, b + n);
    long long ans = 1;
    int var = 0;
    int i = 0, j = 0;
    while (i < n || j < n) {
        if (i == n || (var == 0 && a[i] < b[j])) {
            swap(a, b);
            swap(i, j);
        }
        while (j < n && b[j] < a[i]) {
            var++;
            j++;
        }
        i++;
        ans = ans * var % MOD;
        var--;
    }
    cout << ans << endl;
}

Submission Info

Submission Time
Task A - 1D Matching
User Sarkin
Language C++14 (GCC 5.4.1)
Score 0
Code Size 1411 Byte
Status CE

Compile Error

./Main.cpp: In function ‘void solve(int)’:
./Main.cpp:50:25: error: comparison between distinct pointer types ‘const char*’ and ‘int*’ lacks a cast [-fpermissive]
         scanf("%d"< &b[i]);
                         ^
./Main.cpp:50:26: error: cannot convert ‘bool’ to ‘const char*’ for argument ‘1’ to ‘int scanf(const char*, ...)’
         scanf("%d"< &b[i]);
                          ^
./Main.cpp:45:20: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d", &n);
                    ^
./Main.cpp:47:27: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
         scanf("%d", &a[i]);
                           ^