Submission #229992

#TimeUsernameProblemLanguageResultExecution timeMemory
229992osaaateiasavtnlZoltan (COCI16_zoltan)C++14
0 / 140
1097 ms4560 KiB
#include<bits/stdc++.h> using namespace std; #define int long long #define ii pair <int, int> #define app push_back #define all(a) a.begin(), a.end() #define bp __builtin_popcountll #define ll long long #define mp make_pair #define f first #define s second #define Time (double)clock()/CLOCKS_PER_SEC const int N = 2e5 + 7, MOD = 1000 * 1000 * 1000 + 7; int len[N], cnt[N], a[N]; signed main() { #ifdef HOME freopen("input.txt", "r", stdin); #else #define endl '\n' ios_base::sync_with_stdio(0); cin.tie(0); #endif int n; cin >> n; for (int i = 1; i <= n; ++i) cin >> a[i]; for (int i = 1; i <= n; ++i) { len[i] = 1; cnt[i] = 1; for (int j = 1; j < i; ++j) { if (a[j] < a[i]) { if (len[j] + 1 > len[i]) { len[i] = len[j] + 1; cnt[i] = cnt[j]; } else if (len[j] + 1 == len[i]) { cnt[i] = (cnt[i] + cnt[j]) % MOD; } } } } cout << cnt[n] << endl; }
#Verdict Execution timeMemoryGrader output
Fetching results...