Submission #16447815


Source Code Expand

#include<bits/stdc++.h>
#define _overload3(_1, _2, _3, name, ...) name
#define _rep(i, n) repi(i, 0, n)
#define repi(i, a, b) \
  for (ll i = static_cast<int>(a); i < static_cast<int>(b); ++i)
#define rep(...) _overload3(__VA_ARGS__, repi, _rep, ) (__VA_ARGS__)  // NOLINT
#define chmax(x, a)  do { x = max(x, a); } while(0)
#define chmin(x, a)  do { x = min(x, a); } while(0)

using namespace std;
typedef long long int ll;
typedef unsigned long long int ull;
typedef pair<ll,ll> PLL;


void solve() {
  ll H, W;
  cin >> H >> W;
  vector<ll> a(H), b(H);
  map<ll,ll> m;
  multiset<ll> s;
  rep(x, W) {
    m[x] = x;
    s.insert(0);
  }
  rep(i, H) {
    cin >> a[i] >> b[i];
    a[i]--;
    b[i]--;
  }
  rep(i, H) {
    auto it = m.lower_bound(a[i]);
    // 削除対象のx一覧
    vector<ll> dels; 
    while (it != m.end() && it->first <= b[i]+1) {
      dels.push_back(it->first);
      it++;
    }
    // 削除
    ll mx = -1;
    for (auto x : dels) {
      chmax(mx, m[x]);
      s.erase(s.find(x-m[x]));
      m.erase(m.find(x));
      //cout << "delete x=" << x << endl;
    }
    // 追加
    if (mx != -1 && b[i] + 1 < W) {
      m[b[i]+1] = mx;
      s.insert(b[i]+1 - mx);
      //cout << "add x=" << b[i]+1 << endl;
    }
    // 答え
    ll ans = -1;
    if (s.size() > 0)
      ans = i + 1 + *s.begin();
    cout << ans << endl;
  }
}

int main() {
  //ll T;
  //cin >> T;
  //rep(_,T)
    solve();
  return 0;
}

Submission Info

Submission Time
Task F - I hate Shortest Path Problem
User bobuhiro11
Language C++ (GCC 9.2.1)
Score 600
Code Size 1505 Byte
Status AC
Exec Time 613 ms
Memory 28344 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 600 / 600
Status
AC × 1
AC × 11
Set Name Test Cases
Sample sample00
All case01, case02, case03, case04, case05, case06, case07, case08, case09, case10, sample00
Case Name Status Exec Time Memory
case01 AC 7 ms 3600 KiB
case02 AC 331 ms 6244 KiB
case03 AC 258 ms 13468 KiB
case04 AC 508 ms 28092 KiB
case05 AC 508 ms 22924 KiB
case06 AC 598 ms 28340 KiB
case07 AC 258 ms 24376 KiB
case08 AC 481 ms 28276 KiB
case09 AC 613 ms 28344 KiB
case10 AC 127 ms 17236 KiB
sample00 AC 4 ms 3608 KiB