Submission #1754654
Source Code Expand
#include<iostream> #include<cstdio> #include<vector> #include<string> #include<functional> #include<queue> #include <iomanip> #include<map> #include<limits> #include<cmath> #include<algorithm> #include<bitset> #include<utility> #include<complex> #include<cstdlib> #include<set> #include<cctype> #define DBG cerr << '!' << endl; #define REP(i,n) for(int (i) = (0);(i) < (n);++i) #define rep(i,s,g) for(int (i) = (s);(i) < (g);++i) #define rrep(i,s,g) for(int (i) = (s);i >= (g);--(i)) #define PB push_back #define MP make_pair #define FI first #define SE second #define SHOW1d(v,n) {for(int i = 0;i < (n);i++)cerr << v[i] << ' ';cerr << endl << endl;} #define SHOW2d(v,i,j) {for(int aaa = 0;aaa < i;aaa++){for(int bbb = 0;bbb < j;bbb++)cerr << v[aaa][bbb] << ' ';cerr << endl;}cerr << endl;} #define ALL(v) v.begin(),v.end() using namespace std; typedef long long ll; typedef vector<int> iv; typedef vector<iv> iiv; typedef vector<string> sv; #define INF 1000000007; bool lock[100010]; ll dp[100010]; ll a[100010],b[100010]; int main() { int n;cin >> n; REP(i,n)dp[i] = INF; REP(i,n)cin >> a[i]; REP(i,n)cin >> b[i]; int now = 0; REP(i,n) { if(a[i] > now) { lock[i] = true; now = a[i]; } dp[i] = min(dp[i],now); } now = 0; REP(i,n) { if(b[n-i-1] > now) { if(lock[n-i-1] && b[n-i-1] > dp[n-i-1]) { cout << 0 << endl; return 0; } lock[n-i-1] = true; } now = b[n-i-1]; dp[n-i-1] = min(dp[n-i-1],now); } ll ans = 1; REP(i,n) { if(!lock[i]) { ans = (ans*dp[i]) % INF; } } //SHOW1d(dp,n); //SHOW1d(lock,n); cout << ans << endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | C - Two Alpinists |
User | seica |
Language | C++14 (GCC 5.4.1) |
Score | 0 |
Code Size | 1726 Byte |
Status | CE |
Compile Error
./Main.cpp: In function ‘int main()’: ./Main.cpp:60:24: error: no matching function for call to ‘min(ll&, int&)’ dp[i] = min(dp[i],now); ^ In file included from /usr/include/c++/5/bits/char_traits.h:39:0, from /usr/include/c++/5/ios:40, from /usr/include/c++/5/ostream:38, from /usr/include/c++/5/iostream:39, from ./Main.cpp:1: /usr/include/c++/5/bits/stl_algobase.h:195:5: note: candidate: template<class _Tp> constexpr const _Tp& std::min(const _Tp&, const _Tp&) min(const _Tp& __a, const _Tp& __b) ^ /usr/include/c++/5/bits/stl_algobase.h:195:5: note: template argument deduction/substitution failed: ./Main.cpp:60:24: note: deduced conflicting types for parameter ‘const _Tp’ (‘long long int’ and ‘int’) dp[i] = min(dp[i],now); ^ In file included from /usr/include/c++/5/bits/char_traits.h:39:0, from /usr/include/c++/5/ios:40, from /usr/include/c...