제출 #601580

#제출 시각아이디문제언어결과실행 시간메모리
601580jack715모임들 (IOI18_meetings)C++14
19 / 100
582 ms786432 KiB
#include "meetings.h"
#include <bits/stdc++.h>
#define ll long long
#define pb push_back
#define pp pop_back
#define mp make_pair
#define bb back
#define ff first
#define ss second

using namespace std;

std::vector<long long> minimum_costs(std::vector<int> H, std::vector<int> L,
                                     std::vector<int> R) {
  int n = H.size(), mx;
  ll left[n][n], right[n][n];
  ll now;
  for (int i = n-1; i >= 0; i--) {
    now = 0, mx = 0;
    for (int j = i; j >= 0; j--) {
      mx = max(mx, H[j]);
      now += mx;
      right[j][i] = now;
    }
  }

  for (int i = 0; i < n; i++) {
    now = 0, mx = 0;
    for (int j = i; j < n; j++) {
      mx = max(mx, H[j]);
      now += mx;
      left[i][j] = now;
    }
  }

  vector<long long> ans(L.size(), 1e18);
  for (int q = 0; q < L.size(); q++) {
    for (int i = L[q]; i <= R[q]; i++) {
      // cout << i << ' ' << left[L[q]][i]+right[i][R[q]]-H[i] << '\n';
      ans[q] = min(ans[q], right[L[q]][i]+left[i][R[q]]-H[i]);
    }
    // cout << "===\n";
  }
  return ans;
}

컴파일 시 표준 에러 (stderr) 메시지

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