Submission #415146

#TimeUsernameProblemLanguageResultExecution timeMemory
415146schseMeetings (IOI18_meetings)C++17
4 / 100
5600 ms504648 KiB
#include <bits/stdc++.h> using namespace std; #ifndef EVAL #include "grader.cpp" #endif #include "meetings.h" vector<vector<long long>> prefsum; long long calcscore(int l, int r, int p, std::vector<int> const &H) { int mx = 0; long long sum = 0; for (int i = p; i <= r; i++) { mx = max(mx, H[i]); sum += mx; } mx = 0; for (int i = p; i >= l; i--) { mx = max(mx, H[i]); sum += mx; } sum -= H[p]; assert(sum == prefsum[p][l] + prefsum[p][r] - H[p]); return sum; } long long findmin(int l, int r, std::vector<int> const &H) { long long mx = INT64_MAX; for (int i = l; i <= r; i++) { mx = min(mx, calcscore(l, r, i, H)); } return mx; } void calcpref(vector<int> const &H) { prefsum.resize(H.size(), vector<long long>(H.size(), 0)); for (int i = 0; i < H.size(); i++) { int mx = 0; long long sum = 0; for (int e = i; e < H.size(); e++) { mx = max(mx, H[e]); prefsum[i][e] = sum += mx; } mx = 0; sum = 0; for (int e = i; e >= 0; e--) { mx = max(mx, H[e]); prefsum[i][e] = sum += mx; } } } std::vector<long long> minimum_costs(std::vector<int> H, std::vector<int> L, std::vector<int> R) { calcpref(H); int Q = L.size(); std::vector<long long> C(Q); for (int j = 0; j < Q; ++j) { C[j] = findmin(L[j], R[j], H); } return C; }

Compilation message (stderr)

meetings.cpp: In function 'void calcpref(const std::vector<int>&)':
meetings.cpp:43:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   43 |   for (int i = 0; i < H.size(); i++)
      |                   ~~^~~~~~~~~~
meetings.cpp:47:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   47 |     for (int e = i; e < H.size(); e++)
      |                     ~~^~~~~~~~~~
#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...