제출 #116612

#제출 시각아이디문제언어결과실행 시간메모리
116612dragonslayeritDancing Elephants (IOI11_elephants)C++14
26 / 100
9073 ms3196 KiB
#include "elephants.h"
#include <vector>
#include <algorithm>

const int INF=1e9+7;

std::vector<int> xs;
std::vector<int> ys;
int l;

void init(int N, int L, int X[])
{
  l=L;
  for(int i=0;i<N;i++){
    xs.push_back(X[i]);
  }
  ys=xs;
}

int update(int i, int new_val)
{
  for(int& y:ys){
    if(y==xs[i]){
      y=new_val;
      break;
    }
  }
  xs[i]=new_val;
  //std::sort(ys.begin(),ys.end());
  
  for(int i=0;i<ys.size();i++){
    int tmp=ys[i];
    int j=i;
    while(j>0&&ys[j-1]>tmp){
      ys[j]=ys[j-1];
      j--;
    }
    ys[j]=tmp;
  }
  
  int far=-INF;
  int cnt=0;
  for(int x:ys){
    if(x>far){
      far=x+l;
      cnt++;
    }
  }
  return cnt;
}

컴파일 시 표준 에러 (stderr) 메시지

elephants.cpp: In function 'int update(int, int)':
elephants.cpp:31:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for(int i=0;i<ys.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...