Submission #1455373
Source Code Expand
#include <iostream> #include <cstdio> #include <cstring> #include <string> #include <stack> #include <queue> #include <functional> #include <algorithm> #include <map> #include <unordered_map> #include <set> #include <unordered_set> #include <vector> #include <array> #include <tuple> #include <utility> #include <numeric> #include <iomanip> #include <cctype> #include <cmath> #include <assert.h> #include <cstdlib> #include <list> using namespace std; using ll = long long; using ull = unsigned long long; using PII = pair<int, int>; using PLL = pair<ll, ll>; template<typename T1, typename T2> ostream& operator<<(ostream& s, const pair<T1, T2>& p) { return s << "(" << p.first << ", " << p.second << ")"; } template<typename T> ostream& operator<<(ostream& s, const vector<T>& v) { s << "["; for (int i = 0; i < v.size(); i++) s << (i == 0 ? "" : ", ") << v[i]; s << "]"; return s; } #define ALL(a) (a).begin(), (a).end() const ll MOD = 1000 * 1000 * 1000 + 7; int main() { int N; cin >> N; vector<ll> T(N), A(N); for (int i = 0; i < N; i++) { cin >> T[i]; } for (int i = 0; i < N; i++) { cin >> A[i]; } vector<PLL> data(N); ll h = 0; for (int i = 0; i < N; i++) { if (T[i] > h) { data[i] = make_pair(T[i], T[i]); } else { data[i] = make_pair(1, T[i]); } h = T[i]; } h = 0; for (int i = N - 1; i >= 0; i--) { ll lb = 1, ub = A[i]; if (A[i] > h) { lb = A[i]; ub = lb; } if (ub < data[i].first || data[i].second < lb) { cout << 0 << endl; return 0; } data[i].first = max(data[i].first, lb); data[i].second = min(data[i].second, ub); h = A[i]; } ll ans = 1; for (int i = 0; i < N; i++) { ans *= (data[i].second - data[i].first + 1); ans %= MOD; } cout << ans << endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | C - Two Alpinists |
User | myusa |
Language | C++14 (GCC 5.4.1) |
Score | 400 |
Code Size | 2077 Byte |
Status | AC |
Exec Time | 87 ms |
Memory | 3328 KB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 400 / 400 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | 0_000.txt, 0_001.txt, 0_002.txt, 0_003.txt |
All | 0_000.txt, 0_001.txt, 0_002.txt, 0_003.txt, 1_004.txt, 1_005.txt, 1_006.txt, 1_007.txt, 1_008.txt, 1_009.txt, 1_010.txt, 1_011.txt, 1_012.txt, 1_013.txt, 1_014.txt, 1_015.txt, 1_016.txt, 1_017.txt, 1_018.txt, 1_019.txt, 1_020.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
0_000.txt | AC | 1 ms | 256 KB |
0_001.txt | AC | 1 ms | 256 KB |
0_002.txt | AC | 1 ms | 256 KB |
0_003.txt | AC | 1 ms | 256 KB |
1_004.txt | AC | 1 ms | 256 KB |
1_005.txt | AC | 1 ms | 256 KB |
1_006.txt | AC | 1 ms | 256 KB |
1_007.txt | AC | 1 ms | 256 KB |
1_008.txt | AC | 87 ms | 3328 KB |
1_009.txt | AC | 71 ms | 3328 KB |
1_010.txt | AC | 76 ms | 3328 KB |
1_011.txt | AC | 80 ms | 3328 KB |
1_012.txt | AC | 77 ms | 3328 KB |
1_013.txt | AC | 81 ms | 3328 KB |
1_014.txt | AC | 79 ms | 3328 KB |
1_015.txt | AC | 80 ms | 3328 KB |
1_016.txt | AC | 77 ms | 3328 KB |
1_017.txt | AC | 75 ms | 3328 KB |
1_018.txt | AC | 72 ms | 3328 KB |
1_019.txt | AC | 63 ms | 3328 KB |
1_020.txt | AC | 60 ms | 3328 KB |