Submission #984807

#TimeUsernameProblemLanguageResultExecution timeMemory
984807vjudge1Strange Device (APIO19_strange_device)C++17
0 / 100
5084 ms524288 KiB
#include <bits/stdc++.h> #define ft first #define sd second #define pb push_back #define nl "\n" #define int ll typedef long long ll; typedef long double ld; using namespace std; const int N = 1000100; int n, a, b; void solve() { cin >> n >> a >> b; int S = 0; map<int, int> mp; int R; for (int i = 0; i < n; i++) { int l, r; cin >> l >> r; R = r; S += (r - l + 1); for (int j = l; j <= r; j++) { mp[j] = 1; } } if (S <= 1e6) { for (auto j : mp) { if (j.sd == 0) continue; int t = j.ft; int k = 0; while(t + b * (k + 1) <= R) { k++; if (mp.find(t + b * k) != mp.end() && (b + 1) * k % a == 0) { S--; mp[t + b * k] = 0; } } } cout << S << nl; } } signed main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); int T = 1; while(T--) { solve(); } }
#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...