Submission #979693

# Submission time Handle Problem Language Result Execution time Memory
979693 2024-05-11T10:02:59 Z hugo_pm Fish 3 (JOI24_fish3) C++17
9 / 100
2000 ms 6944 KB
#include <bits/stdc++.h>
#define int long long
using namespace std;

#define all(v) (v).begin(), (v).end()
#define rall(v) (v).rbegin(), (v).rend()
#define rep(i, a, b) for(int i = (a); i < (b); i++)
#define sz(v) ((int)((v).size()))

template<typename T>
void chmax(T &x, const T &v) { if (x < v) x = v; }
template<typename T>
void chmin(T &x, const T &v) { if (x > v) x = v; }

using pii = pair<int, int>;
using vi = vector<int>;
using ll = long long;

string to_string(string s) { return s; }
template <typename T> string to_string(T v) {
    bool first = true;
    string res = "[";
    for (const auto &x : v) {
        if (!first)
            res += ", ";
        first = false;
        res += to_string(x);
    }
    res += "]";
    return res;
}

template <typename A, typename B>
string to_string(pair<A, B> p) {
  return "(" + to_string(p.first) + ", " + to_string(p.second) + ")";
}

void dbg_out() { cout << endl; }
template <typename Head, typename... Tail> void dbg_out(Head H, Tail... T) {
    cout << ' ' << to_string(H);
    dbg_out(T...);
}

#ifdef DEBUG
#define dbg(...) cout << "(" << #__VA_ARGS__ << "):", dbg_out(__VA_ARGS__)
#else
#define dbg(...)
#endif

signed main() {
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    int nbFish, delta;
    cin >> nbFish >> delta;
    vector<int> ideal(nbFish);
    rep(i, 0, nbFish) {
        cin >> ideal[i];
    }
    int nbReq; cin >> nbReq;
    rep(iReq, 0, nbReq) {
        int lft, rgt;
        cin >> lft >> rgt;
        --lft, --rgt;
        int curVal = ideal[rgt];
        int answer = 0;
        for (int iFish = rgt-1; iFish >= lft; --iFish) {
            chmin(curVal, ideal[iFish]);
            // ideal - giveA*D <= curVal
            // ideal - curVal <= giveA*D
            int giveA = (ideal[iFish] - curVal + delta - 1) / delta;
            curVal = ideal[iFish] - giveA*delta;
            if (curVal < 0) {
                answer = -1;
                break;
            }
            answer += giveA;
        }
        cout << answer << '\n';
    }
}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 344 KB Output is correct
2 Correct 1 ms 500 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 34 ms 576 KB Output is correct
5 Correct 1 ms 348 KB Output is correct
6 Correct 24 ms 552 KB Output is correct
7 Correct 1 ms 344 KB Output is correct
8 Correct 2 ms 344 KB Output is correct
9 Correct 2 ms 348 KB Output is correct
10 Correct 23 ms 344 KB Output is correct
11 Correct 1 ms 348 KB Output is correct
12 Correct 19 ms 548 KB Output is correct
13 Correct 19 ms 352 KB Output is correct
# Verdict Execution time Memory Grader output
1 Execution timed out 2021 ms 3812 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Execution timed out 2021 ms 6944 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Execution timed out 2057 ms 3408 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 344 KB Output is correct
2 Correct 1 ms 500 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 34 ms 576 KB Output is correct
5 Correct 1 ms 348 KB Output is correct
6 Correct 24 ms 552 KB Output is correct
7 Correct 1 ms 344 KB Output is correct
8 Correct 2 ms 344 KB Output is correct
9 Correct 2 ms 348 KB Output is correct
10 Correct 23 ms 344 KB Output is correct
11 Correct 1 ms 348 KB Output is correct
12 Correct 19 ms 548 KB Output is correct
13 Correct 19 ms 352 KB Output is correct
14 Execution timed out 2021 ms 3812 KB Time limit exceeded
15 Halted 0 ms 0 KB -