Submission #761837

# Submission time Handle Problem Language Result Execution time Memory
761837 2023-06-20T10:21:21 Z gun_gan Teleporters (IOI08_teleporters) C++17
10 / 100
409 ms 27780 KB
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;

const int MX = 1e6 + 5;

int N, M;
int cnt[MX];

vector<array<int,3>> v;

int main() {
      ios_base::sync_with_stdio(0); cin.tie(0);

      cin >> N >> M;
      for(int i = 0; i < N; i++) {
            int l, r;
            cin >> l >> r;

            v.push_back({l, r, i});
            v.push_back({r, l, i});
      }

      sort(v.begin(), v.end());

      int cur = 0;
      while(1) {
            array<int,3> arr = {cur + 1, 0, 0};
            auto nxt = lower_bound(v.begin(), v.end(), arr);

            // cout << cur << " -> " << (*nxt)[1] << '\n';
            if(nxt == v.end()) break;

            cur = (*nxt)[1];
            cnt[(*nxt)[2]]++;
      }

      ll ans = 0, x = 0, y = 0;
      for(int i = 0; i < N; i++) {
            if(cnt[i] == 2) {
                  ans += 2;
            } else if(cnt[i] == 1) {
                  x++;
                  ans += 1;
            } else { 
                  y++;
            }
      }

      while(x > 0 && M > 0) {
            x--;
            ans++;
            M--;
            ans += 2;

            if(y > 0) {
                  x++;
                  y--;
                  ans++;
            }
      }

      if(y > 0 && M > 0) {
            ll m = min(y, 1ll * M);
            ans += 2 * m;
            y -= m;
            M -= m;
      }

      while(M > 0) {
            M -= 2;
            ans += 4;
      }

      ans += M & 1;
      cout << ans << '\n';
}
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 212 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 212 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 212 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 212 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 212 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 212 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 212 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 340 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 340 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 468 KB Output is correct
2 Incorrect 5 ms 916 KB Output isn't correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 2 ms 468 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 5 ms 788 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 6 ms 1232 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 40 ms 3848 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 71 ms 6596 KB Output is correct
2 Incorrect 189 ms 19144 KB Output isn't correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 217 ms 24976 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 326 ms 25012 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 409 ms 27780 KB Output isn't correct
2 Halted 0 ms 0 KB -