Submission #1000584
Source Code Expand
#ifdef DEBUG
#define _GLIBCXX_DEBUG
#endif
#include <bits/stdc++.h>
using namespace std;
typedef long double ld;
typedef long long ll;
#ifdef DEBUG
#define eprintf(...) fprintf(stderr, __VA_ARGS__), fflush(stderr)
#else
#define eprintf(...) ;
#endif
#define pb push_back
#define mp make_pair
#define sz(x) ((int) (x).size())
#define TASK "text"
const int inf = (int) 1.01e9;
const ld eps = 1e-9;
const ld pi = acos((ld) -1);
mt19937 mrand(random_device{} ());
int rnd(int x) {
return mrand() % x;
}
void precalc() {
}
const int maxn = (int) 1e5 + 5, mod = (int) 1e9 + 7;
int n;
int a[maxn], b[maxn];
int read() {
if (scanf("%d", &n) < 1) {
return false;
}
for (int i = 0; i < n; i++) {
scanf("%d", &a[i]);
}
for (int i = 0; i < n; i++) {
scanf("%d", &b[i]);
}
return true;
}
void solve() {
sort(a, a + n);
sort(b, b + n);
int cnta = 0, cntb = 0;
int res = 1;
for (int ia = 0, ib = 0; ia < n || ib < n;) {
if (ia < n && (ib == n || a[ia] < b[ib])) {
if (cntb) {
res = ((long long) res * cntb) % mod;
cntb--;
} else {
cnta++;
}
ia++;
} else {
if (cnta) {
res = ((long long) res * cnta) % mod;
cnta--;
} else {
cntb++;
}
ib++;
}
}
printf("%d\n", res);
}
int main() {
precalc();
#ifdef LOCAL
assert(freopen(TASK ".in", "r", stdin));
assert(freopen(TASK ".out", "w", stdout));
#endif
while (true) {
if (!read()) {
break;
}
solve();
#ifdef DEBUG
eprintf("Time %.2f\n", (double) clock() / CLOCKS_PER_SEC);
#endif
}
return 0;
}
Submission Info
Submission Time |
|
Task |
A - 1D Matching |
User |
aid |
Language |
C++14 (GCC 5.4.1) |
Score |
500 |
Code Size |
1714 Byte |
Status |
AC |
Exec Time |
40 ms |
Memory |
1024 KB |
Compile Error
./Main.cpp: In function ‘int read()’:
./Main.cpp:45:23: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%d", &a[i]);
^
./Main.cpp:48:23: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%d", &b[i]);
^
Judge Result
Set Name |
Sample |
All |
Score / Max Score |
0 / 0 |
500 / 500 |
Status |
|
|
Set Name |
Test Cases |
Sample |
example0.txt, example1.txt |
All |
000.txt, 001.txt, 002.txt, 003.txt, 004.txt, 005.txt, 006.txt, 007.txt, 008.txt, 009.txt, 010.txt, 011.txt, example0.txt, example1.txt |
Case Name |
Status |
Exec Time |
Memory |
000.txt |
AC |
25 ms |
768 KB |
001.txt |
AC |
10 ms |
384 KB |
002.txt |
AC |
14 ms |
512 KB |
003.txt |
AC |
15 ms |
512 KB |
004.txt |
AC |
35 ms |
896 KB |
005.txt |
AC |
40 ms |
1024 KB |
006.txt |
AC |
40 ms |
1024 KB |
007.txt |
AC |
40 ms |
1024 KB |
008.txt |
AC |
39 ms |
1024 KB |
009.txt |
AC |
40 ms |
1024 KB |
010.txt |
AC |
39 ms |
1024 KB |
011.txt |
AC |
39 ms |
1024 KB |
example0.txt |
AC |
3 ms |
256 KB |
example1.txt |
AC |
3 ms |
256 KB |