Submission #771194

#TimeUsernameProblemLanguageResultExecution timeMemory
771194LextyleFinancial Report (JOI21_financial)C++17
28 / 100
4061 ms565960 KiB
#include <bits/stdc++.h> #include <random> #include <chrono> #pragma warning(disable : 4996) #pragma warning(disable : 6031) #define USACO freopen("cowpatibility.in", "r", stdin); freopen("cowpatibility.out", "w+", stdout) #define fastIO ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL) #define ll long long using namespace std; mt19937 rng(chrono::steady_clock::now().time_since_epoch().count()); ll binpow(ll a, ll x, ll m) { ll ans = 1, md = a % m; while (x != 0) { if (x % 2 == 1) ans = (ans * md) % m; md = (md * md) % m; x >>= 1; } return ans; } ll gcd(ll a, ll b) { return b == 0 ? a : gcd(b, a % b); } ll lcm(ll a, ll b) { return a * b / gcd(a, b); } /* JOJOxJJOI */ int a[7000], dp[7000][7001]; multiset<int> s[7001]; void solve() { int n, d; cin >> n >> d; for(int i = 0; i < n; i++) cin >> a[i]; for(int i = 0; i < n; i++) { for(int j = 0; j <= n; j++) dp[i][j] = INT32_MAX; } for(int i = 0; i < n; i++) { dp[i][1] = a[i]; for(int j = 2; j <= i + 1; j++) { if (!s[j - 1].empty() && *s[j - 1].begin() < a[i]) dp[i][j] = a[i]; else if (!s[j].empty()) dp[i][j] = *s[j].begin(); } for(int j = 1; j <= i + 1; j++) { if (i - d >= 0 && dp[i - d][j] != INT32_MAX) s[j].erase(s[j].find(dp[i - d][j])); s[j].insert(dp[i][j]); } } for(int i = n; i >= 1; i--) { if (dp[n - 1][i] != INT32_MAX) { cout << i << "\n"; break; } } } int main() { //USACO; fastIO; int t = 1; //cin >> t; while(t--) solve(); return 0; }

Compilation message (stderr)

Main.cpp:4: warning: ignoring '#pragma warning ' [-Wunknown-pragmas]
    4 |     #pragma warning(disable : 4996)
      | 
Main.cpp:5: warning: ignoring '#pragma warning ' [-Wunknown-pragmas]
    5 |     #pragma warning(disable : 6031)
      |
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...