提出 #3062027


ソースコード 拡げる

#include <bits/stdc++.h>

using namespace std;

typedef long long ll;

#define reps(i,a,b) for(int (i)=(a); (i)<(b); ++(i))
#define rep(i,n) reps(i,0,(n))
#define chmax(x,y) x=max(x,y)
#define P(p) cout << (p) << endl;

ll N,M,X[100100];

bool tenken(ll minute) {
  ll left = -1;
  rep(i,M) {
    ll c = X[i]-1;
    if (c <= left) {
      chmax(left,c+minute);
    } else {
      if (c-left-1 > minute) return false;
      ll r1 = minute - c + 2 * (left+1);
      ll r2 = (minute + c + left + 1) / 2;
      chmax(left,max(r1,r2));
    }
  }
  return left>=N-1;
}

signed main() {
  cin >> N >> M;
  rep(i,M) cin >> X[i];
  ll low = 0, high = 2 * N;
  while (low<=high) {
    ll mid = (low + high) / 2;
    if (tenken(mid)) {
      high = mid - 1;
    } else {
      low = mid + 1;
    }
  }
  P(low);
}

提出情報

提出日時
問題 D - 壊れた電車
ユーザ morio__
言語 C++14 (GCC 5.4.1)
得点 100
コード長 844 Byte
結果 AC
実行時間 47 ms
メモリ 1152 KiB

ジャッジ結果

セット名 Sample Dataset1 Dataset2 Dataset3
得点 / 配点 0 / 0 20 / 20 60 / 60 20 / 20
結果
AC × 2
AC × 17
AC × 36
AC × 60
セット名 テストケース
Sample sample-01.txt, sample-02.txt
Dataset1 sample-01.txt, sample-02.txt, 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 01-09.txt, 01-10.txt, 01-11.txt, 01-12.txt, 01-13.txt, 01-14.txt, 01-15.txt
Dataset2 sample-01.txt, sample-02.txt, 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 01-09.txt, 01-10.txt, 01-11.txt, 01-12.txt, 01-13.txt, 01-14.txt, 01-15.txt, 02-01.txt, 02-02.txt, 02-03.txt, 02-04.txt, 02-05.txt, 02-06.txt, 02-07.txt, 02-08.txt, 02-09.txt, 02-10.txt, 02-11.txt, 02-12.txt, 02-13.txt, 02-14.txt, 02-15.txt, 02-16.txt, 02-17.txt, 02-18.txt, 02-19.txt
Dataset3 sample-01.txt, sample-02.txt, 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 01-09.txt, 01-10.txt, 01-11.txt, 01-12.txt, 01-13.txt, 01-14.txt, 01-15.txt, 02-01.txt, 02-02.txt, 02-03.txt, 02-04.txt, 02-05.txt, 02-06.txt, 02-07.txt, 02-08.txt, 02-09.txt, 02-10.txt, 02-11.txt, 02-12.txt, 02-13.txt, 02-14.txt, 02-15.txt, 02-16.txt, 02-17.txt, 02-18.txt, 02-19.txt, 03-01.txt, 03-02.txt, 03-03.txt, 03-04.txt, 03-05.txt, 03-06.txt, 03-07.txt, 03-08.txt, 03-09.txt, 03-10.txt, 03-11.txt, 03-12.txt, 03-13.txt, 03-14.txt, 03-15.txt, 03-16.txt, 03-17.txt, 03-18.txt, 03-19.txt, 03-20.txt, 03-21.txt, 03-22.txt, sample-01.txt, sample-02.txt
ケース名 結果 実行時間 メモリ
01-01.txt AC 1 ms 256 KiB
01-02.txt AC 1 ms 256 KiB
01-03.txt AC 1 ms 256 KiB
01-04.txt AC 1 ms 256 KiB
01-05.txt AC 1 ms 256 KiB
01-06.txt AC 1 ms 256 KiB
01-07.txt AC 1 ms 256 KiB
01-08.txt AC 1 ms 256 KiB
01-09.txt AC 1 ms 256 KiB
01-10.txt AC 1 ms 256 KiB
01-11.txt AC 1 ms 256 KiB
01-12.txt AC 1 ms 256 KiB
01-13.txt AC 1 ms 256 KiB
01-14.txt AC 1 ms 256 KiB
01-15.txt AC 1 ms 256 KiB
02-01.txt AC 1 ms 256 KiB
02-02.txt AC 1 ms 256 KiB
02-03.txt AC 1 ms 256 KiB
02-04.txt AC 4 ms 256 KiB
02-05.txt AC 33 ms 1024 KiB
02-06.txt AC 17 ms 640 KiB
02-07.txt AC 33 ms 1024 KiB
02-08.txt AC 31 ms 1024 KiB
02-09.txt AC 30 ms 1024 KiB
02-10.txt AC 1 ms 256 KiB
02-11.txt AC 32 ms 1024 KiB
02-12.txt AC 33 ms 1024 KiB
02-13.txt AC 32 ms 1024 KiB
02-14.txt AC 33 ms 1024 KiB
02-15.txt AC 33 ms 1024 KiB
02-16.txt AC 31 ms 1024 KiB
02-17.txt AC 33 ms 1024 KiB
02-18.txt AC 33 ms 1024 KiB
02-19.txt AC 33 ms 1024 KiB
03-01.txt AC 1 ms 256 KiB
03-02.txt AC 1 ms 256 KiB
03-03.txt AC 1 ms 256 KiB
03-04.txt AC 43 ms 1024 KiB
03-05.txt AC 14 ms 512 KiB
03-06.txt AC 21 ms 640 KiB
03-07.txt AC 41 ms 1024 KiB
03-08.txt AC 36 ms 896 KiB
03-09.txt AC 1 ms 256 KiB
03-10.txt AC 43 ms 1024 KiB
03-11.txt AC 43 ms 1024 KiB
03-12.txt AC 14 ms 512 KiB
03-13.txt AC 36 ms 1024 KiB
03-14.txt AC 41 ms 1024 KiB
03-15.txt AC 32 ms 1024 KiB
03-16.txt AC 41 ms 1024 KiB
03-17.txt AC 37 ms 1024 KiB
03-18.txt AC 45 ms 1152 KiB
03-19.txt AC 45 ms 1024 KiB
03-20.txt AC 46 ms 1024 KiB
03-21.txt AC 45 ms 1024 KiB
03-22.txt AC 47 ms 1024 KiB
sample-01.txt AC 1 ms 256 KiB
sample-02.txt AC 1 ms 256 KiB