Submission #946578

#TimeUsernameProblemLanguageResultExecution timeMemory
946578PagodePaivaMeetings (IOI18_meetings)C++17
19 / 100
3676 ms786436 KiB
#include "meetings.h" #include<bits/stdc++.h> #define ll long long #define N 5010 #define inf 1e18 using namespace std; ll pref[N][N]; ll suf[N][N]; ll v[N][N]; std::vector<long long> minimum_costs(std::vector<int> h, std::vector<int> l, std::vector<int> r) { int n = h.size(); for(int i = 0;i < n;i++){ v[i][i] = h[i]; for(int j = i-1;j >= 0;j--) v[j][i] = max(v[j+1][i], (long long) h[j]); for(int j = i+1;j < n;j++) v[j][i] = max(v[j-1][i], (long long) h[j]); } for(int i = 0;i < n;i++){ pref[i][i] = v[i][i]; suf[i][i] = v[i][i]; for(int j = i-1;j >= 0;j--) pref[j][i] = pref[j+1][i] + v[j][i]; for(int j = i+1;j < n;j++) suf[j][i] = suf[j-1][i] + v[j][i]; } vector <long long> resp; for(int i = 0;i < l.size();i++){ int lt = l[i], rt = r[i]; ll res = inf; for(int x = lt;x <= rt;x++){ // cout << pref[lt][x] << ' ' << suf[rt][x] << ' ' << v[x][x] << endl; res = min(res, pref[lt][x] + suf[rt][x] - v[x][x]); } resp.push_back(res); } return resp; }

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:28:19: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   28 |   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...