Submission #1175268

#TimeUsernameProblemLanguageResultExecution timeMemory
1175268tkm_algorithmsStrange Device (APIO19_strange_device)C++20
65 / 100
292 ms16992 KiB
/** * In the name of Allah * We are nothing and you're everything * author: najmuddin **/ #include <bits/stdc++.h> using namespace std; #define all(x) begin(x), end(x) #define sz(x) (int)(x).size() typedef long long ll; #define int ll const char nl = '\n'; const int inf = 1e18+1; int32_t main() { ios::sync_with_stdio(false); cin.tie(nullptr); int n, A, B; cin >> n >> A >> B; int T = inf; // A/gcd(A, B+1)*B if (B <= inf/(A/__gcd(A, B+1)))T = A/__gcd(A, B+1)*B; vector<pair<int, int>> v; for (int i = 0; i < n; ++i) { int l, r; cin >> l >> r; l %= T, r %= T; if (l <= r)v.push_back({l, r}); else { v.push_back({l, T-1}); v.push_back({0, r}); } } sort(all(v)); int l = v[0].first, r = v[0].second; int ans = 0; for (int i = 1; i < sz(v); ++i) { if (v[i].first > r) { ans += r-l+1; l = v[i].first; } r = max(r, v[i].second); } ans += r-l+1; cout << ans; return 0; }
#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...