Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- #define dprint(v) cerr << #v"=" << v << endl //;)
- #define forr(i,a,b) for(int i=(a); i<(b); i++)
- #define forn(i,n) forr(i,0,n)
- #define dforn(i,n) for(int i=n-1; i>=0; i--)
- #define forall(it,v) for(auto it=v.begin();it!=v.end();++it)
- #define sz(c) ((int)c.size())
- #define zero(v) memset(v, 0, sizeof(v))
- #define pb push_back
- #define fst first
- #define snd second
- typedef long long ll;
- typedef pair<int,int> ii;
- const int MAXN=100100;
- const ll MOD=1e9+7;
- int n, p[MAXN], v[MAXN];
- int main() {
- ios::sync_with_stdio(0);
- while(cin >> n){
- forn(i,n) cin >> p[i];
- sort(p,p+n);
- zero(v);
- forn(_,n) { int c; cin >> c;
- int idx = upper_bound(p,p+n,c)-p;
- if (idx) v[idx-1]++;
- }
- int av = 0;
- ll p = 1;
- dforn(i,n) {
- av += v[i];
- p = (p*av) % MOD;
- av--;
- }
- cout << p << endl;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement