Submission #1068297

#TimeUsernameProblemLanguageResultExecution timeMemory
1068297Ignut모임들 (IOI18_meetings)C++17
19 / 100
497 ms786432 KiB
// Ignut

#include <bits/stdc++.h>

using namespace std;
using ll = long long;

const ll INF = 1e18 + 123;

vector<ll> minimum_costs(vector<int> H, vector<int> L, vector<int> R) {
    int N = H.size();
    ll goLeft[N][N] = {};
    ll goRight[N][N] = {};
    for (int i = 0; i < N; i ++) {
        ll mx = H[i];
        ll sum = 0;
        for (int j = i; j >= 0; j --) {
            mx = max(mx, 1ll * H[j]);
            sum += mx;
            goLeft[i][j] = sum;
        }
        mx = H[i];
        sum = 0;
        for (int j = i; j < N; j ++) {
            mx = max(mx, 1ll * H[j]);
            sum += mx;
            goRight[i][j] = sum;
        }
    }

    // for (int i = 0; i < N; i ++) {
    //     for (int j = 0; j < N; j ++) {
    //         cout << goLeft[i][j] << ' ';
    //     }
    //     cout << '\n';
    // }
    // for (int i = 0; i < N; i ++) {
    //     for (int j = 0; j < N; j ++) {
    //         cout << goRight[i][j] << ' ';
    //     }
    //     cout << '\n';
    // }

    vector<ll> res;
    for (int i = 0; i < L.size(); i ++) {
        ll ans = INF;
        for (int s = L[i]; s <= R[i]; s ++)
            ans = min(ans, goLeft[s][L[i]] + goRight[s][R[i]] - H[s]);
        res.push_back(ans);
    }
    return res;
}

Compilation message (stderr)

meetings.cpp: In function 'std::vector<long long int> minimum_costs(std::vector<int>, std::vector<int>, std::vector<int>)':
meetings.cpp:45:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   45 |     for (int i = 0; i < L.size(); i ++) {
      |                     ~~^~~~~~~~~~
#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...