제출 #790706

#제출 시각아이디문제언어결과실행 시간메모리
790706Amylopectin모임들 (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;
}

컴파일 시 표준 에러 (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...