제출 #771192

#제출 시각아이디문제언어결과실행 시간메모리
771192LextyleFinancial Report (JOI21_financial)C++17
28 / 100
4090 ms585188 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;
}

컴파일 시 표준 에러 (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...