Submission #5882797


Source Code Expand

#include <bits/stdc++.h>
using namespace std;
 
#define REP(i,n) for(int i=0; i < (n); ++i)
#define REPR(i,n) for(int i=(n); i >=0; --i)
#define FOR(i, m, n) for(int i = (m); i < (n); ++i)
 
typedef long long ll;
#define INF 1e9


int main(){
  int N, K;
  cin >> N >> K;
  vector<int> A(N);
  int mini;
  REP(i, N){
    cin >> A[i];
    if(A[i] == 1){
      mini = i;
    }
  }

  int start = max(0, mini-K+1);
  int end = min(mini, N-K);
  int minc = 1e9;
  FOR(i, start, end+1){
    int cnt = i/(K-1)+((N-1)-(i+K-1))/(K-1);
    int right = i/(K-1);
    int left = ((N-1)-(i+K-1))/(K-1);
    if(i%(K-1)){
      cnt++;
      right++;
    }
    if(((N-1)-(i+K-1))%(K-1)){
      cnt++;
      left++;
    }
    //cout << i << " " << right << " " << left << endl;
    minc = min(minc, cnt+1);
  }
  cout << minc << endl;


  return 0;
}

Submission Info

Submission Time
Task C - Minimization
User tune
Language C++14 (GCC 5.4.1)
Score 300
Code Size 878 Byte
Status AC
Exec Time 29 ms
Memory 640 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 300 / 300
Status
AC × 3
AC × 16
Set Name Test Cases
Sample sample1.txt, sample2.txt, sample3.txt
All sample1.txt, sample2.txt, sample3.txt, 1.txt, 10.txt, 2.txt, 3.txt, 4.txt, 5.txt, 6.txt, 7.txt, 8.txt, 9.txt, sample1.txt, sample2.txt, sample3.txt
Case Name Status Exec Time Memory
1.txt AC 12 ms 384 KB
10.txt AC 22 ms 512 KB
2.txt AC 29 ms 640 KB
3.txt AC 16 ms 512 KB
4.txt AC 28 ms 640 KB
5.txt AC 29 ms 640 KB
6.txt AC 29 ms 640 KB
7.txt AC 3 ms 256 KB
8.txt AC 25 ms 640 KB
9.txt AC 1 ms 256 KB
sample1.txt AC 1 ms 256 KB
sample2.txt AC 1 ms 256 KB
sample3.txt AC 1 ms 256 KB