Submission #741457

#TimeUsernameProblemLanguageResultExecution timeMemory
741457abczz이상한 기계 (APIO19_strange_device)C++14
5 / 100
1446 ms53332 KiB
#include <iostream>
#include <vector>
#include <algorithm>
#include <array>
#define ll long long

using namespace std;

ll n, a, b, x, y, l, r, f;
vector<array<ll, 2>> A;
int main() {
  cin >> n >> a >> b;
  for (int i=0; i<n; ++i) {
    cin >> x >> y;
    l = y-x;
    x %= (a*b);
    if (x+l >= a*b) {
      l -= a*b-x;
      l = min(l, a*b-1);
      A.push_back({x, a*b-1});
      A.push_back({0, l});
    }
    else A.push_back({x, x+l});
  }
  sort(A.begin(), A.end());
  l = r = -1e9;
  ++l;
  for (auto [u, v] : A) {
    if (r+1 < u) {
      //cout << l << " " << r << endl;
      f += r-l+1;
      l = u, r = v;
    }
    else r = max(r, v);
  }
  //cout << l << " " << r << endl;
  f += (r-l)+1;
  cout << f << '\n';
}

Compilation message (stderr)

strange_device.cpp: In function 'int main()':
strange_device.cpp:28:13: warning: structured bindings only available with '-std=c++17' or '-std=gnu++17'
   28 |   for (auto [u, v] : A) {
      |             ^
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...