Submission #1220955

#TimeUsernameProblemLanguageResultExecution timeMemory
1220955abdelhakimMeetings (IOI18_meetings)C++20
19 / 100
3289 ms851968 KiB
#include "meetings.h"
#include <bits/stdc++.h>
#define ll long long
#define inf (ll)1e17
#define dbg(x) cerr<< #x << ' ' << x << endl;
using namespace std;
std::vector<long long> minimum_costs(std::vector<int> H, std::vector<int> L,std::vector<int> R) 
{
  ll n=H.size();
  ll q=L.size();
  vector<vector<ll>> mem(n,vector<ll>(n));
  for (int i = 0;i<n;i++)
  {
    ll maxe=0;
    for (int j=i;j<n;j++)
    {
      maxe=max(maxe,(ll)H[j]);
      mem[i][j]=maxe;
      if(j>0)mem[i][j]+=mem[i][j-1];
    }
    maxe=H[i];
    for (int j=i-1;j>=0;j--)
    {
      maxe=max(maxe,(ll)H[j]);
      mem[i][j]=maxe;
      mem[i][j]+=mem[i][j+1];
    }
  }
  vector<ll> ans(q,inf);
  for (int i=0;i<q;i++)
  {
    for (int j=L[i];j<=R[i];j++)
    {
      ll subans=mem[j][L[i]]+mem[j][R[i]]-H[j];
      ans[i]=min(ans[i],subans);
    }
  }
  return ans;
}
#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...