제출 #1337146

#제출 시각아이디문제언어결과실행 시간메모리
1337146kawhietCollecting Stamps 3 (JOI20_ho_t3)C++20
0 / 100
1 ms344 KiB
#include <bits/stdc++.h>
using namespace std;

int n, l;
vector<int> x, t;

int get() {
    int ans = 0;
    for (int s = 0; s <= n; s++) {
        int res = 0, k = 0;
        for (int i = 0; i < s; i++) {
            k = x[i];
            if (k <= t[i]) {
                res++;
            }
        }
        k *= 2;
        int prv = l;
        for (int i = n - 1; i >= 0; i--) {
            k += prv - x[i];
            prv = x[i];
            if (k <= t[i]) {
                res++;
            }
        }
        ans = max(ans, res);
    }
    return ans;
}

int main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    cin >> n >> l;
    x.resize(n);
    t.resize(n);
    for (int i = 0; i < n; i++) {
        cin >> x[i];
    }
    for (int i = 0; i < n; i++) {
        cin >> t[i];
    }
    int ans = get();
    for (int i = 0; i < n; i++) {
        x[i] = l - x[i];
    }
    ranges::reverse(x);
    ranges::reverse(t);
    ans = max(ans, get());
    cout << ans << '\n';
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...