Submission #790706

#TimeUsernameProblemLanguageResultExecution timeMemory
790706AmylopectinMeetings (IOI18_meetings)C++14
19 / 100
5553 ms4500 KiB
#include "meetings.h" #include <vector> #include <algorithm> using namespace std; const long long mxn = 1e6 + 10,mxi = 1e9 + 10; long long hei[mxn] = {}, pos[mxn] = {},val[mxn] = {},h[mxn] = {}; vector <long long> ans; long long fimi(long long l,long long r) { if(l < r) { return l; } return r; } long long fima(long long l,long long r) { if(l > r) { return l; } return r; } std::vector<long long> minimum_costs(std::vector<int> hh, std::vector<int> ll, std::vector<int> rr) { long long i,j,n,m,q,cn,cm,fn,fm,ru,cva,cpo,cmi; n = hh.size(); q = ll.size(); for(i=0; i<n; i++) { h[i] = hh[i]; } for(i=0; i<q; i++) { ru = 0; cmi = -1; cva = 0; hei[0] = mxi; pos[0] = ll[i]-1; for(j=ll[i]; j<=rr[i]; j++) { cpo = j-1; while(ru > 0 && hei[ru] <= h[j]) { cva -= (hei[ru] * (pos[ru] - pos[ru-1])); ru --; } ru ++; hei[ru] = h[j]; pos[ru] = j; cva += hei[ru] * (pos[ru] - pos[ru-1]); val[j] = cva; } ru = 0; cva = 0; hei[0] = mxi; pos[0] = rr[i]+1; for(j=rr[i]; j>=ll[i]; j--) { cpo = j+1; while(ru > 0 && hei[ru] <= h[j]) { cva -= (hei[ru] * (pos[ru-1] - pos[ru])); ru --; } ru ++; hei[ru] = h[j]; pos[ru] = j; cva += hei[ru] * (pos[ru-1] - pos[ru]); if(cmi == -1) { cmi = cva + val[j] - h[j]; } else { cmi = fimi(cmi,cva + val[j] - h[j]); } } ans.push_back(cmi); } return ans; // int Q = L.size(); // std::vector<long long> C(Q); // for (int j = 0; j < Q; ++j) { // C[j] = H[L[j]]; // } // return C; }

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:26:19: warning: unused variable 'm' [-Wunused-variable]
   26 |   long long i,j,n,m,q,cn,cm,fn,fm,ru,cva,cpo,cmi;
      |                   ^
meetings.cpp:26:23: warning: unused variable 'cn' [-Wunused-variable]
   26 |   long long i,j,n,m,q,cn,cm,fn,fm,ru,cva,cpo,cmi;
      |                       ^~
meetings.cpp:26:26: warning: unused variable 'cm' [-Wunused-variable]
   26 |   long long i,j,n,m,q,cn,cm,fn,fm,ru,cva,cpo,cmi;
      |                          ^~
meetings.cpp:26:29: warning: unused variable 'fn' [-Wunused-variable]
   26 |   long long i,j,n,m,q,cn,cm,fn,fm,ru,cva,cpo,cmi;
      |                             ^~
meetings.cpp:26:32: warning: unused variable 'fm' [-Wunused-variable]
   26 |   long long i,j,n,m,q,cn,cm,fn,fm,ru,cva,cpo,cmi;
      |                                ^~
meetings.cpp:26:42: warning: variable 'cpo' set but not used [-Wunused-but-set-variable]
   26 |   long long i,j,n,m,q,cn,cm,fn,fm,ru,cva,cpo,cmi;
      |                                          ^~~
#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...