Submission #1319299

#TimeUsernameProblemLanguageResultExecution timeMemory
1319299ghammazhassan이상한 기계 (APIO19_strange_device)C++20
100 / 100
323 ms31696 KiB
// #include <bits/stdc++.h> #include <iostream> #include <cmath> #include <algorithm> #include <map> #include <unordered_map> #include <vector> #include <iomanip> #include <string> #include <queue> #include <set> #include <deque> using namespace std; #define int long long #define endl "\n" #define fi first #define se second const int M=1e9+7; const int inf = 1e15; const int LOG=17; const int N=2e5+5; int n , m , c , w , k , t=1 , q=1 , x , y , z , l , r; int A,B; void solve(){ cin >> n >> A >> B; // for (int i=1;i<=500;i++){ // cout << i << " " << ((i+i/B)%A) << " " << (i%B) << endl; // } int g=__gcd(B+1,A); A/=g; if (log2(A)+log2(B)>=60){ A=B=1e9+1; } vector<pair<int,int>>a(n); for (int i=0;i<n;i++){ cin >> a[i].fi >> a[i].se; if (a[i].se-a[i].fi+1>=A*B){ cout << A*B << endl; return; } a[i].fi%=(A*B); a[i].se%=(A*B); if (a[i].se<a[i].fi){ a.push_back({0,a[i].se}); a[i].se=A*B-1; } } sort(a.begin(),a.end()); n=a.size(); c=0; int mx=-1; for (int i=0;i<n;i++){ a[i].fi=max(a[i].fi,mx+1); if (a[i].se<a[i].fi)continue; c+=a[i].se-a[i].fi+1; mx=max(mx,a[i].se); } cout << c << endl; } signed main() { // #ifndef ONLINE_JUDGE // freopen("input.txt","r" ,stdin); // freopen("output.txt","w",stdout); // #endif ios::sync_with_stdio(0);//DO NOT USE IN INTERACTIVE cin.tie(0), cout.tie(0);//DO NOT USE IN INTERACTIVE cout << fixed << setprecision(9); srand(time(0)); // int t=1; // cin >> t; for (int _=1;_<=t;_++){ solve(); q++; } }
#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...