제출 #1352765

#제출 시각아이디문제언어결과실행 시간메모리
1352765ElayV13선물상자 (IOI15_boxes)C++20
20 / 100
0 ms344 KiB
#include "boxes.h"
#include "bits/stdc++.h"
using namespace std;

#define ll long long
const ll INF=1e18;

ll NC;
ll LC;
ll KC;

ll cost(ll a,ll b){
      return min(abs(a-b),abs(max(a,b)-(min(a,b)+LC)));
}

ll C(vector<int>per){
      ll NN=(ll)per.size();
      ll res=0;
      for(int i=0;i<NN;i+=KC){
            int l=i,r=min(NN-1,i+KC-1);
            int cur=0;
            for(int j=l;j<=r;j++){
                  res+=cost(cur,per[j]);
                  cur=per[j];
            }
            res+=cost(0,cur);
      }
      return res;
}

ll delivery(int N,int K,int L,int p[])
{
      NC=N;
      LC=L;
      KC=K;
      ll ans=INF;
      vector<int>pos1;
      vector<int>pos2;
      for(int i=0;i<N;i++) pos1.push_back(p[i]);
      for(int i=N-1;i>=0;i--) pos2.push_back(p[i]);
      ans=min(ans,C(pos1));
      ans=min(ans,C(pos2));
      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...
#Verdict Execution timeMemoryGrader output
Fetching results...