Submission #232442

#TimeUsernameProblemLanguageResultExecution timeMemory
232442limabeansStrange Device (APIO19_strange_device)C++17
5 / 100
462 ms524292 KiB
#include <bits/stdc++.h> using namespace std; template<typename T> void out(T x) { cout << x << endl; exit(0); } #define watch(x) cout << (#x) << " is " << (x) << endl typedef long long ll; const ll mod = 1e9+7; const int maxn = 1e6 + 5; ll n, a, b; ll getx(ll t) { return (t+t/b)%a; } ll gety(ll t) { return t%b; } vector<pair<ll,ll>> v; int main() { ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); cin>>n>>a>>b; v.resize(n); for (int i=0; i<n; i++) { cin>>v[i].first>>v[i].second; v[i].first %= (a*b); v[i].second %= (a*b); } vector<ll> hit(a*b*2 + 10, 0); for (int i=0; i<n; i++) { ll l = v[i].first; ll r = v[i].second; if (r<l) r+= (a*b); hit[l]++; hit[r+1]--; } for (int i=1; i<(int)hit.size(); i++) { hit[i]+=hit[i-1]; } vector<ll> res(a*b, 0); for (int i=0; i<(int)hit.size(); i++) { if (hit[i]>0) { res[i%(a*b)]=1; } } ll ans = accumulate(res.begin(), res.end(), 0); out(ans); // for (int t=1; t<=100; t++) { // ll x = getx(t); // ll y = gety(t); // cout<<t<<": "<<x<<" "<<y<<endl; // } 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...