Submission #821252

# Submission time Handle Problem Language Result Execution time Memory
821252 2023-08-11T08:23:45 Z danikoynov Sightseeing in Kyoto (JOI22_kyoto) C++14
10 / 100
5 ms 468 KB
#include<bits/stdc++.h>
#define endl '\n'

using namespace std;
typedef long long ll;

void speed()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(NULL);
}
const int maxn = 1e3 + 10;
const ll inf = 1e18;
int h, w;
ll a[maxn], b[maxn], dp[maxn];
void solve()
{
    cin >> h >> w;
    for (int i = 1; i <= h; i ++)
        cin >> a[i];
    for (int i = 1; i <= w; i ++)
        cin >> b[i];

    for (int i = 1; i <= w; i ++)
        dp[i] = (ll)1 * (-a[1]);
    /**cout << "---------" << endl;
    for (int j = 1; j <= w; j ++)
    cout << dp[j] << " ";
    cout << endl;*/

    for (int i = 2; i <= h; i ++)
    {

        /**for (int j = 1; j <= w; j ++)
            cout << dp[j] << " ";
        cout << endl;*/

        ll cur = inf, pos = 1, old_dp = dp[1];
        dp[1] += (ll)(1) * (a[i - 1] - a[i]) + b[1];
        cur = dp[1];
        for (int j = 2; j <= w; j ++)
        {
            /// dp[j] - old_dp + (ll)(j - pos) * (a[i - 1] - a[i]) + b[j] - b[pos] < 0
            if (dp[j] - old_dp + (ll)(j - pos) * (a[i - 1] - a[i]) + b[j] - b[pos] < 0)
            {
                old_dp = dp[j];
                dp[j] += (ll)(j) * (a[i - 1] - a[i]) + b[j];
                cur = dp[j];
                pos = j;
            }
            else
            {
                assert(dp[j] + (ll)(j) * (a[i - 1] - a[i]) + b[j] >= cur);
                dp[j] = cur;
            }
            /**dp[j] += (ll)(j) * (a[i - 1] - a[i]) + b[j];
            dp[j] = min(dp[j], cur);
            cur = min(cur, dp[j]);*/
        }

        //if (i != h)
        //      for (int j = 2; j <= w; j ++)
        //dp[j] = min(dp[j], dp[j - 1]);

    }


    cout << w * a[h] + dp[w] << endl;
}

int main()
{
    solve();
    return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 1 ms 212 KB Output is correct
4 Correct 1 ms 212 KB Output is correct
5 Correct 1 ms 212 KB Output is correct
6 Correct 0 ms 212 KB Output is correct
7 Correct 0 ms 212 KB Output is correct
8 Correct 1 ms 212 KB Output is correct
9 Correct 5 ms 212 KB Output is correct
10 Correct 4 ms 212 KB Output is correct
11 Correct 3 ms 212 KB Output is correct
12 Correct 4 ms 212 KB Output is correct
13 Correct 2 ms 212 KB Output is correct
14 Correct 4 ms 212 KB Output is correct
15 Correct 5 ms 212 KB Output is correct
16 Correct 2 ms 212 KB Output is correct
17 Correct 2 ms 212 KB Output is correct
18 Correct 1 ms 212 KB Output is correct
19 Correct 0 ms 212 KB Output is correct
20 Correct 0 ms 212 KB Output is correct
21 Correct 0 ms 212 KB Output is correct
22 Correct 1 ms 212 KB Output is correct
23 Correct 1 ms 212 KB Output is correct
24 Correct 0 ms 212 KB Output is correct
25 Correct 1 ms 212 KB Output is correct
26 Correct 0 ms 212 KB Output is correct
27 Correct 1 ms 212 KB Output is correct
28 Correct 1 ms 212 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 1 ms 252 KB Output is correct
3 Runtime error 1 ms 468 KB Execution killed with signal 6
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 1 ms 212 KB Output is correct
4 Correct 1 ms 212 KB Output is correct
5 Correct 1 ms 212 KB Output is correct
6 Correct 0 ms 212 KB Output is correct
7 Correct 0 ms 212 KB Output is correct
8 Correct 1 ms 212 KB Output is correct
9 Correct 5 ms 212 KB Output is correct
10 Correct 4 ms 212 KB Output is correct
11 Correct 3 ms 212 KB Output is correct
12 Correct 4 ms 212 KB Output is correct
13 Correct 2 ms 212 KB Output is correct
14 Correct 4 ms 212 KB Output is correct
15 Correct 5 ms 212 KB Output is correct
16 Correct 2 ms 212 KB Output is correct
17 Correct 2 ms 212 KB Output is correct
18 Correct 1 ms 212 KB Output is correct
19 Correct 0 ms 212 KB Output is correct
20 Correct 0 ms 212 KB Output is correct
21 Correct 0 ms 212 KB Output is correct
22 Correct 1 ms 212 KB Output is correct
23 Correct 1 ms 212 KB Output is correct
24 Correct 0 ms 212 KB Output is correct
25 Correct 1 ms 212 KB Output is correct
26 Correct 0 ms 212 KB Output is correct
27 Correct 1 ms 212 KB Output is correct
28 Correct 1 ms 212 KB Output is correct
29 Correct 1 ms 212 KB Output is correct
30 Correct 1 ms 252 KB Output is correct
31 Runtime error 1 ms 468 KB Execution killed with signal 6
32 Halted 0 ms 0 KB -