Submission #3236622
Source Code Expand
//waz #include <bits/stdc++.h> using namespace std; #define mp make_pair #define pb push_back #define fi first #define se second #define ALL(x) (x).begin(), (x).end() #define SZ(x) ((int)((x).size())) typedef pair<int, int> PII; typedef vector<int> VI; typedef long long int64; typedef unsigned int uint; typedef unsigned long long uint64; #define gi(x) ((x) = F()) #define gii(x, y) (gi(x), gi(y)) #define giii(x, y, z) (gii(x, y), gi(z)) int F() { char ch; int x, a; while (ch = getchar(), (ch < '0' || ch > '9') && ch != '-'); if (ch == '-') ch = getchar(), a = -1; else a = 1; x = ch - '0'; while (ch = getchar(), ch >= '0' && ch <= '9') x = (x << 1) + (x << 3) + ch - '0'; return a * x; } const int mod = 1e9 + 7; const int N = 2e5 + 10; int n; PII t[N]; int id[N]; int L[N], R[N]; VI q[N]; bool comp(const int &i, const int &j) { return t[i].se < t[j].se; } int tr[N]; void add(int x, int v) { ++x; for (; x < N; x += x & -x) (tr[x] += v) %= mod; } int sum(int x) { ++x; int v = 0; for (; x; x -= x & -x) (v += tr[x]) %= mod; return v; } int query(int l, int r) { return (sum(r) - sum(l - 1) + mod) % mod; } int main() { gi(n); for (int i = 1; i <= n; ++i) gii(t[i].se, t[i].fi), id[i] = i; sort(t + 1, t + n + 1); sort(id + 1, id + n + 1, comp); int mi = n, mx = 0; for (int i = n; i; --i) { mi = min(mi, id[i]); L[i] = mi; } for (int i = 1; i <= n; ++i) { mx = max(mx, id[i]); R[i] = mx; q[R[i]].pb(L[i]); //cerr << L[i] << ", " << R[i] << endl; } add(0, 1); for (int r = 1; r <= n; ++r) for (auto l : q[r]) add(r, query(l - 1, r)); printf("%d\n", query(n, n)); return 0; }
Submission Info
Submission Time | |
---|---|
Task | E - Mr.Aoki Incubator |
User | AnzheWang |
Language | C++14 (GCC 5.4.1) |
Score | 1200 |
Code Size | 1752 Byte |
Status | AC |
Exec Time | 90 ms |
Memory | 15872 KB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 1200 / 1200 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | s1.txt, s2.txt |
All | 01.txt, 02.txt, 03.txt, 04.txt, 05.txt, 06.txt, 07.txt, 08.txt, 09.txt, 10.txt, 11.txt, 12.txt, 13.txt, 14.txt, 15.txt, 16.txt, 17.txt, 18.txt, 19.txt, 20.txt, 21.txt, 22.txt, 23.txt, 24.txt, 25.txt, 26.txt, 27.txt, 28.txt, 29.txt, 30.txt, 31.txt, 32.txt, 33.txt, 34.txt, s1.txt, s2.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
01.txt | AC | 84 ms | 10108 KB |
02.txt | AC | 87 ms | 10232 KB |
03.txt | AC | 87 ms | 10104 KB |
04.txt | AC | 85 ms | 9976 KB |
05.txt | AC | 83 ms | 10104 KB |
06.txt | AC | 87 ms | 9976 KB |
07.txt | AC | 89 ms | 10012 KB |
08.txt | AC | 84 ms | 9980 KB |
09.txt | AC | 88 ms | 15872 KB |
10.txt | AC | 58 ms | 9976 KB |
11.txt | AC | 75 ms | 14336 KB |
12.txt | AC | 87 ms | 15232 KB |
13.txt | AC | 76 ms | 15616 KB |
14.txt | AC | 77 ms | 15616 KB |
15.txt | AC | 88 ms | 15616 KB |
16.txt | AC | 76 ms | 15616 KB |
17.txt | AC | 76 ms | 15872 KB |
18.txt | AC | 88 ms | 15872 KB |
19.txt | AC | 76 ms | 15872 KB |
20.txt | AC | 76 ms | 15872 KB |
21.txt | AC | 90 ms | 12160 KB |
22.txt | AC | 80 ms | 12160 KB |
23.txt | AC | 80 ms | 12160 KB |
24.txt | AC | 89 ms | 12160 KB |
25.txt | AC | 69 ms | 10364 KB |
26.txt | AC | 66 ms | 10504 KB |
27.txt | AC | 78 ms | 10876 KB |
28.txt | AC | 67 ms | 10616 KB |
29.txt | AC | 73 ms | 12920 KB |
30.txt | AC | 84 ms | 13952 KB |
31.txt | AC | 3 ms | 7680 KB |
32.txt | AC | 3 ms | 7680 KB |
33.txt | AC | 3 ms | 7680 KB |
34.txt | AC | 3 ms | 7680 KB |
s1.txt | AC | 3 ms | 7680 KB |
s2.txt | AC | 3 ms | 7680 KB |