Submission #1037457

#TimeUsernameProblemLanguageResultExecution timeMemory
1037457omarpaladines95Meetings (IOI18_meetings)C++14
0 / 100
5583 ms2140 KiB
#include "meetings.h"

#include <iostream>

using namespace std;

std::vector<long long> minimum_costs(std::vector<int> H, std::vector<int> L,
                                     std::vector<int> R) {
  int Q = L.size();
  std::vector<long long> C(Q);
  for (int j = 0; j < Q; ++j) {

    //cout << "L: " << L[j] << "R: " << R[j] << endl; 
    // find the minimum index and minimum size for each [L,R]
    int minSize = 1000000000;
    int minIndex = -1;
    for (int i = L[j]; i <= R[j]; ++i)
    {
      if (H[i] <= minSize)
      {
        minIndex = i;
        minSize = H[i];
      }
    }
   // cout << "MinIndex: " << minIndex << "minSize: " << minSize << endl; 

    for (int i = L[j]; i <= R[j]; ++i)
    {
      //cout << "indexCalculation: " << i << "sizeHeight: " << H[i] << endl; 
      int runMax = 0;
      if (i <= minIndex)
      {
        for (int k = i; k <= minIndex; ++k)
        {
          //cout << "( " << H[k] << " , " << minSize << ")"<< endl; 
          runMax = max(H[k], runMax);
        }
      }
      else
      {
        for (int k = minIndex; k <= i; ++k)
        {
          //cout << "( " << H[k] << " , " << minSize << ")"<< endl; 
          runMax = max(H[k], runMax);
        }
      }
     // cout << "Max for " << i << " : " << runMax << endl;
      C[j] += runMax;
    }
  }
  return C;
}
#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...